ここのチュートリアルに従って、純粋に注釈駆動型 (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
ので、私の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
必要がありますか? トランザクションをいつコミットするかを自動的に構成できる注釈はありますか?