2021SC@SDUSC
上周的会议指出了项目的新方向在于指定一个XML规范,来实现文本的格式化存取,保存文本的格式信息,而非单只有文本内容信息。
大致如下:
另外,这周主要是继续学习Spring框架中的事务管理部分
事务管理
事务写在JavaEE三层结构中的Service层中
在Spring进行事务管理操作
有两种方式:编程式事务管理和声明式事务管理(一般使用后者)
声明式事务管理
- 基于注解(使用)
- 基于xml配置文件
在Spring进行声明式事务管理,底层使用AOP
Spring事务管理API
- 提供一个接口,代表事务管理器,这个接口针对不同的框架提供了不同的实现类
声明式事务管理(注解)
1、在spring配置文件中配置事务管理器
<!--创建事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
2、开启事务注解
<!--开启事务注解-->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
3、在service类上面或方法上面添加事务注解
(1)@Transactional,这个注解添加到类上面,也可以添加在方法上面
(2)如果把这个注解添加在类上面,这个类里面的所有方法都添加事务
(3)如果把这个注解添加在方法上面,则这个方法形成一个事务
事务参数
在service类上面添加注解@Transactional,在这个注解里面可以配置事务相关参数
完全注解方式
@Configuration
@ComponentScan(value = "com.company")
@EnableTransactionManagement
public class TransactionConfig {
@Bean
public DruidDataSource getDruidDataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql:///spring_demo");
druidDataSource.setUsername("root");
druidDataSource.setPassword("root");
return druidDataSource;
}
@Bean
public JdbcTemplate getTemplate(DruidDataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}
@Bean
public DataSourceTransactionManager getDataSourceTxManager(DruidDataSource dataSource) {
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);
return transactionManager;
}
}
|