[英]Spring 3 Annotations: xml-less Declarative Transaction Management
我将按照此处的教程创建纯注释驱动(无xml)的Spring 3应用程序
这是我的配置文件
@Bean(name = "dataSource")
public DriverManagerDataSource dataSource() {
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setDriverClassName("org.postgresql.Driver");
driverManagerDataSource.setUrl("jdbc:postgresql://localhost:5432/test");
driverManagerDataSource.setUsername("postgres");
driverManagerDataSource.setPassword("gayle");
return driverManagerDataSource;
}
@Bean(name = "studentJDBCTemplate")
public StudentJDBCTemplate studentJDBCTemplate() {
StudentJDBCTemplate studentJDBCTemplate = new StudentJDBCTemplate();
studentJDBCTemplate.setDataSource(dataSource());
studentJDBCTemplate.setDataSourceTransactionManager(dataSourceTransactionManager());
studentJDBCTemplate.setJdbcTemplate(new JdbcTemplate());
return studentJDBCTemplate;
}
@Bean
public DataSourceTransactionManager dataSourceTransactionManager() {
DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
dataSourceTransactionManager.setDataSource(dataSource());
return dataSourceTransactionManager;
}
现在,我正在尝试进行declarative transaction management
因此,我在StudentJDBCTemplate
create()
方法
public void create(String name, Integer age) {
System.out.println("Creating!");
String SQL = "insert into Student (name, age) values (?, ?)";
jdbcTemplate.update(SQL, name, age);
System.out.println("Created Record Name=" + name + " Age=" + age);
}
不以编程方式调用事务管理器。
我该如何实现? 我必须声明一个@Aspect
来做到这一点吗? 是否有任何注释可以自动配置何时提交事务?
您要使用@Transactional
批注。 这是它的文档。 具体来说,请转到第10.5.1节。 您需要做的就是注释要使用注释包裹事务的方法。 使用注释的值,您可以指定有关事务类型的任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.