[英]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.