public class ProviderCreatingFactoryBean extends AbstractFactoryBean<ProviderEE<ObjectSE>>
BeanFactory
をソースとする Bean を返す JSR-330 Provider
EE である値を返す FactoryBean
実装。 これは基本的に、Spring の古き良き ObjectFactoryCreatingFactoryBean
の JSR-330 準拠のバリアントです。JSR-330 の @Inject
アノテーションドリブンアプローチの代替として、型 javax.inject.Provider
のプロパティまたはコンストラクター引数をターゲットとする従来の外部依存性注入構成に使用できます。
Provider
EE, ObjectFactoryCreatingFactoryBean
logger
OBJECT_TYPE_ATTRIBUTE
コンストラクターと説明 |
---|
ProviderCreatingFactoryBean() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() 必要に応じて、シングルトンインスタンスを積極的に作成します。 |
protected ProviderEE<ObjectSE> | createInstance() このファクトリによって返されるオブジェクトを構築するためにサブクラスがオーバーライドする必要があるテンプレートメソッド。 |
ClassSE<?> | getObjectType() この抽象メソッドの宣言は、FactoryBean インターフェースのメソッドを反映しており、抽象テンプレートメソッドを一貫して提供します。 |
void | setTargetBeanName(StringSE targetBeanName) ターゲット Bean の名前を設定します。 |
destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setTargetBeanName(StringSE targetBeanName)
ターゲットは非シングルトン Bean である必要はありませんが、現実的には常にそうです(ターゲット Bean がシングルトンである場合、そのシングルトン Bean は依存オブジェクトに直接注入できるため、追加のレベルの必要性がなくなります)このファクトリアプローチによって提供される間接参照)。
public void afterPropertiesSet() throws ExceptionSE
AbstractFactoryBean
InitializingBean
の afterPropertiesSet
AbstractFactoryBean<ProviderEE<ObjectSE>>
の afterPropertiesSet
ExceptionSE
- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合 public ClassSE<?> getObjectType()
AbstractFactoryBean
FactoryBean<ProviderEE<ObjectSE>>
の getObjectType
AbstractFactoryBean<ProviderEE<ObjectSE>>
の getObjectType
null
FactoryBean.getObjectType()
protected ProviderEE<ObjectSE> createInstance()
AbstractFactoryBean
シングルトンの場合はこの FactoryBean の初期化時に呼び出され、そうでない場合は各 AbstractFactoryBean.getObject()
コール時に呼び出されます。
AbstractFactoryBean<ProviderEE<ObjectSE>>
の createInstance
AbstractFactoryBean.getObject()