我正在按照教程here
创建纯粹的注释驱动(xml-less)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
,因此create()
内的StudentJDBCTemplate
方法
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
才能执行此操作?是否有任何注释可以自动配置何时提交事务?
答案 0 :(得分:2)
您想使用@Transactional
注释。 Here's the documentation for it.具体来说,请参阅第10.5.1节。您需要做的就是使用注释注释要包含事务的方法。使用注释的值,您可以指定有关事务类型的任何内容。