そのため、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
をトランザクションにしたいのです。誰かがこれを行う方法について何かアイデアがある場合、またはこれが不可能な場合は私に知らせてください。
ありがとう!
これで、@EnableTransactionManagement
を使用できます。
詳細については、この投稿を参照してください: http://blog.springsource.com/2011/06/10/spring-3-1-m2-configuration-enhancements/
このフォーラム投稿 によると、それは不可能のようです。
spring3.1の
@Configuration
クラスでアノテーション駆動型TXを有効にするためのよりファーストクラスのメカニズムがあるかもしれませんが、それまでの間、推奨されるアプローチは@ImportResource
を使用して宣言するXMLのスニペットを含めることです。<tx:annotation-driven/>
待ってください:しかし、とにかくXMLコンテキストを持っているようです。それに<tx:annotation-driven/>
を追加して、 @Transactional
を使用してみませんか?
http://blog.springsource.com/2011/02/17/spring-3-1-m1-featurespec をご覧ください。 TxAnnotationDrivenなどのSpring3.1のFeatureSpecificationクラスは、上記の問題を正確に解決するように設計されています。