public class RootBeanDefinition extends AbstractBeanDefinition
GenericBeanDefinitions
として登録されています。ルート Bean 定義は、基本的に、実行時の「統一された」Bean 定義ビューです。 ルート Bean 定義は、構成フェーズで個々の Bean 定義を登録するためにも使用できます。ただし、Spring 2.5 以降、Bean 定義をプログラムで登録するための推奨される方法は、GenericBeanDefinition
クラスです。GenericBeanDefinition には、ルート Bean 定義としてのロールを「ハードコード」するのではなく、親の依存関係を動的に定義できるという利点があります。
GenericBeanDefinition
, ChildBeanDefinition
, 直列化された形式 AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, DEPENDENCY_CHECK_ALL, DEPENDENCY_CHECK_NONE, DEPENDENCY_CHECK_OBJECTS, DEPENDENCY_CHECK_SIMPLE, INFER_METHOD, SCOPE_DEFAULT
ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON
コンストラクターと説明 |
---|
RootBeanDefinition() 新しい RootBeanDefinition を作成し、その Bean プロパティと構成メソッドを使用して構成します。 |
RootBeanDefinition(ClassSE<?> beanClass) シングルトンの新しい RootBeanDefinition を作成します。 |
RootBeanDefinition(ClassSE<?> beanClass, ConstructorArgumentValues cargs, MutablePropertyValues pvs) シングルトンの新しい RootBeanDefinition を作成し、コンストラクターの引数とプロパティ値を指定します。 |
RootBeanDefinition(ClassSE<?> beanClass, int autowireMode, boolean dependencyCheck) 指定された autowire モードを使用して、シングルトンの新しい RootBeanDefinition を作成します。 |
RootBeanDefinition(ClassSE<T> beanClass, StringSE scope, SupplierSE<T> instanceSupplier) スコープ指定された Bean の新しい RootBeanDefinition を作成し、指定されたサプライヤー(おそらくラムダまたはメソッド参照)を呼び出して各インスタンスを構築します。 |
RootBeanDefinition(ClassSE<T> beanClass, SupplierSE<T> instanceSupplier) シングルトン Bean の新しい RootBeanDefinition を作成し、指定されたサプライヤー(おそらくラムダまたはメソッド参照)を呼び出して各インスタンスを構築します。 |
RootBeanDefinition(RootBeanDefinition original) 指定された Bean 定義のディープコピーとして新しい RootBeanDefinition を作成します。 |
RootBeanDefinition(StringSE beanClassName) シングルトンの新しい RootBeanDefinition を作成し、コンストラクターの引数とプロパティ値を指定します。 |
RootBeanDefinition(StringSE beanClassName, ConstructorArgumentValues cargs, MutablePropertyValues pvs) シングルトンの新しい RootBeanDefinition を作成し、コンストラクターの引数とプロパティ値を指定します。 |
修飾子と型 | メソッドと説明 |
---|---|
RootBeanDefinition | cloneBeanDefinition() この Bean 定義を複製します。 |
boolean | equals(ObjectSE other) |
BeanDefinitionHolder | getDecoratedDefinition() この Bean 定義によって装飾されているターゲット定義があれば、それを返します。 |
SetSE<MemberSE> | getExternallyManagedConfigMembers() 外部で管理されているすべての構成メソッドとフィールドを(不変のセットとして)取得します。 |
SetSE<StringSE> | getExternallyManagedDestroyMethods() 外部で管理されているすべての破棄メソッドを(不変のセットとして)取得します。 |
SetSE<StringSE> | getExternallyManagedInitMethods() 外部で管理されているすべての初期化メソッドを(不変のセットとして)返します。 |
StringSE | getParentName() この Bean 定義の親定義の名前を返します(ある場合)。 |
ConstructorSE<?>[] | getPreferredConstructors() 存在する場合、デフォルトの構築に使用する優先コンストラクターを決定します。 |
AnnotatedElementSE | getQualifiedElement() AnnotatedElement SE 定義修飾子があれば、それを返します。 |
ResolvableType | getResolvableType() この Bean 定義の ResolvableType を、実行時にキャッシュされた型情報から、構成時の setTargetType(ResolvableType) または AbstractBeanDefinition.setBeanClass(Class) から返します。解決されたファクトリメソッド定義も考慮されます。 |
MethodSE | getResolvedFactoryMethod() 解決されたファクトリメソッドを Java メソッドオブジェクトとして返します(利用可能な場合)。 |
ClassSE<?> | getTargetType() この Bean 定義のターゲット型を返します(事前に指定されているか、最初のインスタンス化で解決されている場合)。 |
boolean | isExternallyManagedConfigMember(MemberSE configMember) 指定されたメソッドまたはフィールドが外部で管理されている構成メンバーであるかどうかを判別します。 |
boolean | isExternallyManagedDestroyMethod(StringSE destroyMethod) 指定されたメソッド名が外部で管理されている破棄メソッドを示しているかどうかを判別してください。 |
boolean | isExternallyManagedInitMethod(StringSE initMethod) 指定されたメソッド名が外部管理の初期化メソッドを示しているかどうかを判別してください。 |
boolean | isFactoryMethod(MethodSE candidate) 指定された候補がファクトリメソッドとしての資格があるかどうかを確認します。 |
void | registerExternallyManagedConfigMember(MemberSE configMember) 外部管理の構成方法またはフィールドを登録します。 |
void | registerExternallyManagedDestroyMethod(StringSE destroyMethod) 外部で管理されている構成破棄メソッドを登録します。たとえば、JSR-250 の PreDestroy SE アノテーションが付けられたメソッド。 |
void | registerExternallyManagedInitMethod(StringSE initMethod) 外部管理の構成初期化メソッドを登録する - たとえば、JSR-250 の PostConstruct SE アノテーションが付けられたメソッド。 |
void | setDecoratedDefinition(BeanDefinitionHolder decoratedDefinition) この Bean 定義によって装飾されているターゲット定義を登録します。 |
void | setNonUniqueFactoryMethodName(StringSE name) オーバーロードされたメソッドを参照するファクトリメソッド名を指定します。 |
void | setParentName(StringSE parentName) この Bean 定義の親定義の名前を設定します(ある場合)。 |
void | setQualifiedElement(AnnotatedElementSE qualifiedElement) ターゲットクラスまたはファクトリメソッドの代わりに使用する AnnotatedElement SE 定義修飾子を指定します。 |
void | setResolvedFactoryMethod(MethodSE method) この Bean 定義のファクトリメソッドの解決された Java メソッドを設定します。 |
void | setTargetType(ClassSE<?> targetType) 事前にわかっている場合は、この Bean 定義のターゲット型を指定します。 |
void | setTargetType(ResolvableType targetType) 事前にわかっている場合は、この Bean 定義のジェネリクスを含むターゲット型を指定します。 |
void | setUniqueFactoryMethodName(StringSE name) オーバーロードされていないメソッドを参照するファクトリメソッド名を指定します。 |
StringSE | toString() |
addQualifier, applyDefaults, clone, copyQualifiersFrom, getAutowireMode, getBeanClass, getBeanClassName, getConstructorArgumentValues, getDependencyCheck, getDependsOn, getDescription, getDestroyMethodName, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getInstanceSupplier, getLazyInit, getMethodOverrides, getOriginatingBeanDefinition, getPropertyValues, getQualifier, getQualifiers, getResolvedAutowireMode, getResource, getResourceDescription, getRole, getScope, hasBeanClass, hasConstructorArgumentValues, hashCode, hasMethodOverrides, hasPropertyValues, hasQualifier, isAbstract, isAutowireCandidate, isEnforceDestroyMethod, isEnforceInitMethod, isLazyInit, isLenientConstructorResolution, isNonPublicAccessAllowed, isPrimary, isPrototype, isSingleton, isSynthetic, overrideFrom, prepareMethodOverride, prepareMethodOverrides, resolveBeanClass, setAbstract, setAutowireCandidate, setAutowireMode, setBeanClass, setBeanClassName, setConstructorArgumentValues, setDependencyCheck, setDependsOn, setDescription, setDestroyMethodName, setEnforceDestroyMethod, setEnforceInitMethod, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setInstanceSupplier, setLazyInit, setLenientConstructorResolution, setMethodOverrides, setNonPublicAccessAllowed, setOriginatingBeanDefinition, setPrimary, setPropertyValues, setResource, setResourceDescription, setRole, setScope, setSynthetic, validate
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
attributeNames, computeAttribute, copyAttributesFrom, hasAttribute
finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
attributeNames, computeAttribute, getAttribute, hasAttribute, removeAttribute, setAttribute
getSource
public RootBeanDefinition()
AbstractBeanDefinition.setBeanClass(java.lang.Class<?>)
, AbstractBeanDefinition.setScope(java.lang.String)
, AbstractBeanDefinition.setConstructorArgumentValues(org.springframework.beans.factory.config.ConstructorArgumentValues)
, AbstractBeanDefinition.setPropertyValues(org.springframework.beans.MutablePropertyValues)
public RootBeanDefinition(@Nullable ClassSE<?> beanClass)
beanClass
- インスタンス化する Bean のクラス AbstractBeanDefinition.setBeanClass(java.lang.Class<?>)
public RootBeanDefinition(@Nullable ClassSE<T> beanClass, @Nullable SupplierSE<T> instanceSupplier)
beanClass
- インスタンス化する Bean のクラス instanceSupplier
- 宣言的に指定されたファクトリメソッドの代わりとして、Bean インスタンスを構築するサプライヤー AbstractBeanDefinition.setInstanceSupplier(java.util.function.Supplier<?>)
public RootBeanDefinition(@Nullable ClassSE<T> beanClass, StringSE scope, @Nullable SupplierSE<T> instanceSupplier)
beanClass
- インスタンス化する Bean のクラス scope
- 対応するスコープの名前 instanceSupplier
- 宣言的に指定されたファクトリメソッドの代わりとして、Bean インスタンスを構築するサプライヤー AbstractBeanDefinition.setInstanceSupplier(java.util.function.Supplier<?>)
public RootBeanDefinition(@Nullable ClassSE<?> beanClass, int autowireMode, boolean dependencyCheck)
beanClass
- インスタンス化する Bean のクラス autowireMode
- このインターフェースの定数を使用して、名前または型 dependencyCheck
- オブジェクトの依存性チェックを実行するかどうか (コンストラクターのオートワイヤーには適用されないため、そこで無視されます)public RootBeanDefinition(@Nullable ClassSE<?> beanClass, @Nullable ConstructorArgumentValues cargs, @Nullable MutablePropertyValues pvs)
beanClass
- インスタンス化する Bean のクラス cargs
- 適用するコンストラクターの引数値 pvs
- 適用するプロパティ値 public RootBeanDefinition(StringSE beanClassName)
Bean クラスの積極的なロードを回避するために、Bean クラス名を取ります。
beanClassName
- インスタンス化するクラスの名前 public RootBeanDefinition(StringSE beanClassName, ConstructorArgumentValues cargs, MutablePropertyValues pvs)
Bean クラスの積極的なロードを回避するために、Bean クラス名を取ります。
beanClassName
- インスタンス化するクラスの名前 cargs
- 適用するコンストラクターの引数値 pvs
- 適用するプロパティ値 public RootBeanDefinition(RootBeanDefinition original)
original
- コピー元の元の Bean 定義 public StringSE getParentName()
BeanDefinition
public void setParentName(@Nullable StringSE parentName)
BeanDefinition
public void setDecoratedDefinition(@Nullable BeanDefinitionHolder decoratedDefinition)
@Nullable public BeanDefinitionHolder getDecoratedDefinition()
public void setQualifiedElement(@Nullable AnnotatedElementSE qualifiedElement)
AnnotatedElement
SE 定義修飾子を指定します。setTargetType(ResolvableType)
, getResolvedFactoryMethod()
@Nullable public AnnotatedElementSE getQualifiedElement()
AnnotatedElement
SE 定義修飾子があれば、それを返します。それ以外の場合は、ファクトリメソッドとターゲットクラスがチェックされます。public void setTargetType(ResolvableType targetType)
public void setTargetType(@Nullable ClassSE<?> targetType)
@Nullable public ClassSE<?> getTargetType()
public ResolvableType getResolvableType()
ResolvableType
を、実行時にキャッシュされた型情報から、構成時の setTargetType(ResolvableType)
または AbstractBeanDefinition.setBeanClass(Class)
から返します。解決されたファクトリメソッド定義も考慮されます。BeanDefinition
の getResolvableType
AbstractBeanDefinition
の getResolvableType
ResolvableType.NONE
)setTargetType(ResolvableType)
, AbstractBeanDefinition.setBeanClass(Class)
, setResolvedFactoryMethod(Method)
@Nullable public ConstructorSE<?>[] getPreferredConstructors()
null
(その場合、通常の引数なしのデフォルトコンストラクターが呼び出されます)public void setUniqueFactoryMethodName(StringSE name)
public void setNonUniqueFactoryMethodName(StringSE name)
public boolean isFactoryMethod(MethodSE candidate)
public void setResolvedFactoryMethod(@Nullable MethodSE method)
method
- 解決されたファクトリメソッド、またはそれをリセットするための null
@Nullable public MethodSE getResolvedFactoryMethod()
null
が見つからないか解決されていない場合 public void registerExternallyManagedConfigMember(MemberSE configMember)
public boolean isExternallyManagedConfigMember(MemberSE configMember)
public SetSE<MemberSE> getExternallyManagedConfigMembers()
public void registerExternallyManagedInitMethod(StringSE initMethod)
PostConstruct
SE アノテーションが付けられたメソッド。 提供される initMethod
は、非プライベートメソッドの場合は単純なメソッド名SE、private
メソッドの場合は修飾メソッド名です。クラス階層内で同じ名前を持つ複数のプライベートメソッドを明確にするために、private
メソッドには修飾名が必要です。
public boolean isExternallyManagedInitMethod(StringSE initMethod)
付属の initMethod
のフォーマットの詳細については、registerExternallyManagedInitMethod(java.lang.String)
を参照してください。
public SetSE<StringSE> getExternallyManagedInitMethods()
返されたセットの初期化メソッドの形式の詳細については、registerExternallyManagedInitMethod(java.lang.String)
を参照してください。
public void registerExternallyManagedDestroyMethod(StringSE destroyMethod)
PreDestroy
SE アノテーションが付けられたメソッド。 提供される destroyMethod
は、非プライベートメソッドの場合は単純なメソッド名SE、private
メソッドの場合は修飾メソッド名です。クラス階層内で同じ名前を持つ複数のプライベートメソッドを明確にするために、private
メソッドには修飾名が必要です。
public boolean isExternallyManagedDestroyMethod(StringSE destroyMethod)
付属の destroyMethod
のフォーマットの詳細については、registerExternallyManagedDestroyMethod(java.lang.String)
を参照してください。
public SetSE<StringSE> getExternallyManagedDestroyMethods()
返されたセットの破棄メソッドの形式の詳細については、registerExternallyManagedDestroyMethod(java.lang.String)
を参照してください。
public RootBeanDefinition cloneBeanDefinition()
AbstractBeanDefinition
AbstractBeanDefinition
の cloneBeanDefinition
public boolean equals(@Nullable ObjectSE other)
AbstractBeanDefinition
の equals
public StringSE toString()
AbstractBeanDefinition
の toString