【问题标题】:Setting Up Annotation Driven Transactions in Spring in @Configuration Class在 @Configuration 类中的 Spring 中设置注释驱动的事务
【发布时间】:2011-04-12 22:43:09
【问题描述】:

所以在最新版本的 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 成为事务性的。如果有人对如何做到这一点有任何想法,或者如果这是不可能的,请告诉我。

谢谢!

【问题讨论】:

    标签: java spring configuration transactions spring-transactions


    【解决方案1】:

    您现在可以使用@EnableTransactionManagement

    查看这篇文章了解更多详情:http://blog.springsource.com/2011/06/10/spring-3-1-m2-configuration-enhancements/

    【讨论】:

      【解决方案2】:

      根据this forum post看来是不可能的:

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

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

      【讨论】:

      • 我最终选择了这条路线。换一种方式会很酷。哦,好吧。
      • 我也一直在努力将 Spring 2.5 JavaConfig 项目迁移到 Spring 3。我很欣赏更好的集成,但很多便利都没有了。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-06
        • 2011-05-08
        • 2013-07-05
        • 2014-02-09
        • 1970-01-01
        • 2015-05-18
        相关资源
        最近更新 更多