views:

38

answers:

1

So in the latest version of Spring we are able to use the @Configuration annotation to setup our configurations for Spring. Now in JavaConfig it is possible to use the @AnnotationDrivenTx (@AnnotationDrivenTx Reference Link) annotation to setup transactions in our Config class. But since JavaConfig has been decommissioned I was wondering if anyone knew how to setup something similar without JavaConfig and without needing to add anything to the application-context.xml. Here is what I basically have for my Config class

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

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

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

And I'd like to make Service1 transactional. If anyone has any ideas on how to do this or if this is just not possible please let me know.

Thanks!

+2  A: 

It seems like it isn't possible according to this forum post:

there may be a more first-class mechanism for enabling annotation-driven TX in @Configuration classes in Spring 3.1, but in the meantime, the recommended approach is to use @ImportResource to include a snippet of XML that declares <tx:annotation-driven/>

Wait: but you seem to have an XML context anyway. Why not add <tx:annotation-driven/> to it and use @Transactional?

seanizer
I ended up going this route. Would've been cool to do it the other way. Oh well.
tkeE2036