既存の Java + spring プロジェクトにグルーヴィーなファイルをいくつか追加しました。
プロジェクトは機能していました (つまり、テストを通過しました)。
Groovy メソッドの 1 つに「@Transactional」を追加すると、テストが壊れました。
(@Transactional を追加するには、クラスの注釈を @Service から @Controller に変更する必要がありました。そうしないと、@Transactional は無視されました - うん)。
例外が発生し始めまし
た 例外はさまざまでした
- @Autowired は何も見つかりませんでした - NoSuchBeanDefinitionException
- @Qualifier("loadTransactions") を追加すると、同じ結果が得られました
- @Resource は BeanNotOfRequiredTypeException を与えました: 'loadTransactions' という名前の Bean はタイプ [net.idt.workflow.LoadTransactions] である必要がありますが、実際にはタイプ [$Proxy33] でし
た (これは、私が常に使用する @Autowired よりも優れたエラー メッセージだと思います: -( )
タイプを「Object」に変更すると、@Resource インジェクションが機能しました (@Autowired に少しイライラしているので、Object で試してみませんでした :-/ )
次に、次のグルーヴィーなコードを使用しました
。
「臭い」と感じますが、動作します。
私の質問は次のとおり
です。
@Transactional が何らかのプロキシを使用していることを知る必要はありません
ご協力ありがとうござい
ます