在@Configuration类中设置Spring中的注释驱动事务

时间:2010-09-15 22:22:58

标签: java spring configuration transactions spring-transactions

因此,在最新版本的Spring中,我们可以使用@Configuration注释来设置Spring的配置。现在在JavaConfig中可以使用@AnnotationDrivenTx@AnnotationDrivenTx Reference Link)注释来在我们的Config类中设置事务。但是由于JavaConfig已经退役,我想知道是否有人知道如何在没有JavaConfig的情况下设置类似的东西需要向application-context.xml添加任何内容。这是我对Config类的基本要求

@Configuration
@ImportResource("config/application-context.xml")
public class Config {

     public @Bean DataSource dataSource() {
           //get and return datasource
     }

     public @Bean Service1 getService1() {
          //return service1Impl
     }
}

我想让Service1进行交易。如果有人对如何做到这一点有任何想法,或者如果这是不可能的,请告诉我。

谢谢!

3 个答案:

答案 0 :(得分:55)

您现在可以使用@EnableTransactionManagement

有关详情,请参阅此帖子:http://blog.springsource.com/2011/06/10/spring-3-1-m2-configuration-enhancements/

答案 1 :(得分:3)

根据this forum post似乎无法实现:

  

可能会有更多的一流   启用机制   @Configuration中注释驱动的TX   在Spring 3.1中的类,但在   同时,推荐的方法是   使用@ImportResource来包含a   声明的XML片段   <tx:annotation-driven/>

等等:但你似乎还有一个XML上下文。为什么不向其添加<tx:annotation-driven/>并使用@Transactional

答案 2 :(得分:3)

看看http://blog.springsource.com/2011/02/17/spring-3-1-m1-featurespec。 Spring 3.1的FeatureSpecification类(如TxAnnotationDriven)旨在解决上述问题。