Wインターフェイスを実装するクラスBがあります。W のメソッドのデフォルトの実装があります。クラス C および D は、Bean が Spring によってインスタンス化されるサービスを必要とするデフォルトの実装をオーバーライドします。文字列 a と b はユーザーから取得されるため、事前に B/C/D の Bean を作成する方法はありません。したがって、ユーザーパラメーターに基づいて新しいオブジェクトを作成するファクトリがあります (パラメーターに基づいて B/C/D を作成します)。C と D の内部からサービス Bean (aa/bb/cc/dd など) を使用できるクリーンな方法はありますか (サーバーの起動時にスプリング オートワイヤー、その時点で B/C/D のインスタンス化に必要なパラメーターは使用できません) または問題を解決するためのより良い方法はありますか?
Class B implements W{
String a;
String b;
B (String a, String b);
w_method(){
}
}
Class C extends B {
@Autowired
Service aa;
@Autowired
Service bb;
@Autowired
Service cc;
@override
w_method(){
}
}
Class D extends B {
@Autowired
Service dd;
@override
w_method(){
}
}