14

私はこれに数時間苦労しています。

Spring XML 構成を完全な Java ベースの構成に移行しようとしています。

AnnotationConfigApplicationContextコンテキスト実装として使用しています。

古い XML 構成から、この行に相当する Java を見つけるのに苦労しています。

<tx:annotation-driven transaction-manager="transactionManager" />

その結果、Spring はトランザクションを管理しません。

私の Java 構成では、トランザクションに関連する Bean (セッション ファクトリ、トランザクション マネージャーなど) を初期化しましたが、その行がないと、トランザクション プロキシが使用されないため、実際にはトランザクションは行われません。

したがって、私の質問は、その行を Java コンテキスト構成にどのように変換するか、または別の方法で問題を解決する方法です。

どんな助けでも大歓迎です。ありがとう。

4

3 に答える 3

12

@EnableTransactionManagement を使用できるようになりました。

参照: http://blog.springsource.com/2011/06/10/spring-3-1-m2-configuration-enhancements/

于 2012-05-10T13:23:15.813 に答える
2

私の経験では、XML 構成を -style 構成に完全に置き換えることは現実的ではありません@Bean。いくつかのことは、特に独自の Bean 定義など、Java で構成する方が理にかなっています。しかし、 のようなインフラ型の宣言<tx:annotation-driven>に関しては、XML 構文の方がはるかに簡潔です。

純粋な Java で同じ効果を再現することはでき<tx:annotation-driven>ますが、実際には触れたくない複雑な低レベルの Spring インフラストラクチャ クラスの相互作用などは通常、面倒で直感的ではありません。

私のアドバイスは、Java と XML をそれぞれの長所に合わせて組み合わせて使用​​することです。これは非常に簡単です。私は、通常の XML ApplicationContext クラスを保持し、@Configurationその XML コンテキストで自分のクラスを Bean として宣言することを好みます<tx:annotation-driven>

于 2010-11-09T22:44:12.833 に答える
0

https://spring.io/blog/2011/02/17/spring-3-1-m1-introducing-featurespecification-supportをご覧ください。TxAnnotationDriven などの Spring 3.1 の FeatureSpecification クラスは、上記の問題を正確に解決するように設計されています。

于 2011-02-18T01:06:33.670 に答える