spring インターフェイスを使用する必要がありますFactoryBean
。
BeanFactory
それ自体がファクトリである内で使用されるオブジェクトによって実装されるインターフェイス。Bean がこのインターフェースを実装する場合、それ自体が公開される Bean インスタンスとして直接ではなく、公開するオブジェクトのファクトリとして使用されます。
インターフェイスを実装し、その Bean を宣言します。例えば :
@Component
class MyStaticFactoryFactoryBean implements FactoryBean<MyStaticFactory>
{
public MyStaticFactory getObject()
MyStaticFactory.getObject();
}
public Class<?> getObjectType() {
return MyStaticFactory.class;
}
public boolean isSingleton() {
return true;
}
}
コンポーネントのスキャンにより@Component
、このクラスが検出されます。Spring はそれが であることを検出し、返されたオブジェクトをBean (指定した場合はシングルトン) としてFactoryBean
公開します。getObject
または、このクラスに@Bean
or<bean>
宣言を指定できます。FactoryBean