使用されるDIフレームワークとは無関係に、オブジェクトチェーン内の単一のPOJOは常にDIメカニズムを解除します。POJOは依存性注入を中断する
擬似コードの例:クラスBにおけるnew C()
は、管理オブジェクトのチェーンを壊すよう
class A {
@Inject
private B b;
}
class B {
private C c=new C();
}
class C {
@Inject
private D d;
}
クラスC内注射は、動作しません。
私たちは現在、マニュアルオブジェクトの作成をDIメカニズムで段階的に置き換えることによって、古い(非DI)プロジェクトを改善しようとしています。
C
をDIに移行するには、A
とB
を気にする必要はありません。あなたが注入したくない場合は、通常
あなたは既にDIを達成するために何かをしていますか?何してるの? – aksappy
なぜ私はプライベートCを作成できないのですか? 「新しい」DIインジェクションを使用してインスタンスを作成すると、もはや機能しなくなる – kuhajeyan
@kuhajeyanもちろんそれはありません。しかし、私の質問は、(Cで始まる)段階的に移行する戦略があるかどうかです。 – gorootde