AspectJを使用する場合、@Configurableではなく@Componentを使用する理由。
@Transactionalサポート、自己呼び出しの側面、およびJPAエンティティへのインジェクションのためのSpringとAspectJのセットアップがあります。これはうまくいきます。
インジェクションが必要なほとんどのクラスに@Componentを使用しているため、依存関係にインジェクションする必要があります。または、できない場合は、ApplicationContextを挿入してから、最後の手段としてgetBean()を使用します。そして、インジェクションが必要なJPAエンティティ(Hibernate)に対してのみ@Configurableを予約しています。また、テストの作成を容易にするために、jUnitテストに@Configurableを使用し始めました。これもうまくいきます。
しかし、私は興味があります。AspectJが、構築方法に関係なく、@ Configurableアノテーションを使用して何かを自動注入(ビーン化)している場合。getBean()、new()、@Autowired。すべてのBeanに@Configurableの使用に切り替えないのはなぜですか?次に、アプリケーションコンテキストとgetBean()を完全に廃止し、注入できないクラスをnew()だけにすることができます。
XMLBeanの構成については触れていません。私はそれを恥ずかしがりませんが、このプロジェクトはたまたま何も必要としません。テスト時に、コンストラクターまたはセッターが依存関係を注入するだけです。非常に簡単。