2

既存の Java + spring プロジェクトにグルーヴィーなファイルをいくつか追加しました。
プロジェクトは機能していました (つまり、テストを通過しました)。

Groovy メソッドの 1 つに「@Transactional」を追加すると、テストが壊れました。
(@Transactional を追加するには、クラスの注釈を @Service から @Controller に変更する必要がありました。そうしないと、@Transactional は無視されました - うん)。

例外が発生し始めまし
た 例外はさまざまでした

  1. @Autowired は何も見つかりませんでした - NoSuchBeanDefinitionException
  2. @Qualifier("loadTransactions") を追加すると、同じ結果が得られました
  3. @Resource は BeanNotOfRequiredTypeException を与えました: 'loadTransactions' という名前の Bean はタイプ [net.idt.workflow.LoadTransactions] である必要がありますが、実際にはタイプ [$Proxy33] でし
    た (これは、私が常に使用する @Autowired よりも優れたエラー メッセージだと思います: -( )

タイプを「Object」に変更すると、@Resource インジェクションが機能しました (@Autowired に少しイライラしているので、Object で試してみませんでした :-/ )

次に、次のグルーヴィーなコードを使用しました
  。
「臭い」と感じますが、動作します。

私の質問は次のとおり
  です。
@Transactional が何らかのプロキシを使用していることを知る必要はありません

ご協力ありがとうござい
ます

4

0 に答える 0