私のApplicationContextには、いくつかのBeanが同じスタイルで作成されています。だから私は、このbeanのそれぞれについてFactoryBean
を書く多くの公表されたコードを持っています。これらの豆は共通の基盤を持ち、特別なインターフェースをすべて実装しています。Springで型別にBeanを作成するには?
私はすべてのBean作成を1つの工場に移したいと思います。その一つがあり、私は私の特別な豆のいずれかを作成するために必要なすべてのインスタンス化を実装することができ、この
<T extends CommonInterface> T createInstance(Class<T> clazz);
のようなMethodeのを提供しなければなりません。その方法で
私の実装は
@Autowired
private MyCommonInterfaceImplementation impl;
ためにスプリングによって呼び出されます
createInstance(MyCommonInterfaceImplementation.class)
これまでのところ私は、両方のは、私が探してるではないと思われる、BeanFactory
とFactoryBean
を見ました。
提案がありますか?あなたはもはやあなたのBeanクラスに注釈を付けるために持っていて、それらをcomponentscanを経由してインスタンス化することができましょう春4.3のとおり
なぜあなたは '@ Component'アノテーションを使用していませんか? –
@MartinFrey、この場合、コンポーネント注釈がどのように役立ちますか?私は完全に質問を理解しているかもしれませんが、このケースでは、このケースの注釈は解決策ではありません。 –