public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccessor implements BeanDefinition, CloneableSE
GenericBeanDefinition
、RootBeanDefinition
、ChildBeanDefinition
の共通プロパティを考慮した、具体的な本格的な BeanDefinition
クラスの基本クラス。 オートワイヤー定数は、AutowireCapableBeanFactory
インターフェースで定義された定数と一致します。
GenericBeanDefinition
, RootBeanDefinition
, ChildBeanDefinition
, 直列化された形式 修飾子と型 | フィールドと説明 |
---|---|
static int | AUTOWIRE_AUTODETECT 使用すべきではありません。 Spring 3.0 以降: 混合オートワイヤー戦略を使用している場合は、アノテーションベースのオートワイヤーを使用して、オートワイヤーの必要性を明確に区別します。 |
static int | AUTOWIRE_BY_NAME オートワイヤーの Bean プロパティを名前で示す定数。 |
static int | AUTOWIRE_BY_TYPE 型ごとに Bean プロパティのオートワイヤーを示す定数。 |
static int | AUTOWIRE_CONSTRUCTOR コンストラクターのオートワイヤーを示す定数。 |
static int | AUTOWIRE_NO 外部オートワイヤーがないことを示す定数。 |
static int | DEPENDENCY_CHECK_ALL すべてのプロパティ(オブジェクト参照と「単純な」プロパティ)の依存関係チェックを示す定数。 |
static int | DEPENDENCY_CHECK_NONE 依存関係チェックをまったく行わないことを示す定数。 |
static int | DEPENDENCY_CHECK_OBJECTS オブジェクト参照の依存関係チェックを示す定数。 |
static int | DEPENDENCY_CHECK_SIMPLE 「単純な」プロパティの依存関係チェックを示す定数。 |
static StringSE | INFER_METHOD メソッド名を明示的に指定するのではなく、コンテナーが Bean の destroy method name を推測しようとすることを示す定数。 |
static StringSE | SCOPE_DEFAULT デフォルトのスコープ名の定数: "" 、親 Bean 定義からオーバーライドされない限り、シングルトンステータスと同等(該当する場合)。 |
ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON
修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractBeanDefinition() デフォルト設定で新しい AbstractBeanDefinition を作成します。 |
protected | AbstractBeanDefinition(BeanDefinition original) 指定された Bean 定義のディープコピーとして新しい AbstractBeanDefinition を作成します。 |
protected | AbstractBeanDefinition(ConstructorArgumentValues cargs, MutablePropertyValues pvs) 指定されたコンストラクター引数値とプロパティ値で新しい AbstractBeanDefinition を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addQualifier(AutowireCandidateQualifier qualifier) オートワイヤー候補の解決に使用される修飾子を、修飾子の型名をキーとして登録します。 |
void | applyDefaults(BeanDefinitionDefaults defaults) 提供されたデフォルト値をこの Bean に適用します。 |
ObjectSE | clone() オブジェクトの clone() メソッドのパブリック宣言。 |
abstract AbstractBeanDefinition | cloneBeanDefinition() この Bean 定義を複製します。 |
void | copyQualifiersFrom(AbstractBeanDefinition source) 提供された AbstractBeanDefinition からこの Bean 定義に修飾子をコピーします。 |
boolean | equals(ObjectSE other) |
int | getAutowireMode() Bean 定義で指定されたオートワイヤーモードを返します。 |
ClassSE<?> | getBeanClass() ラップされた Bean のクラスを返します(すでに解決されている場合)。 |
StringSE | getBeanClassName() この Bean 定義の現在の Bean クラス名を返します。 |
ConstructorArgumentValues | getConstructorArgumentValues() この Bean のコンストラクター引数値を返します( null は絶対にしないでください)。 |
int | getDependencyCheck() 依存関係チェックコードを返します。 |
StringSE[] | getDependsOn() この Bean が依存する Bean 名を返します。 |
StringSE | getDescription() この Bean 定義の人間が読み取れる説明を返します。 |
StringSE | getDestroyMethodName() destroy メソッドの名前を返します。 |
StringSE | getFactoryBeanName() 存在する場合は、ファクトリ Bean 名を返します。 |
StringSE | getFactoryMethodName() 存在する場合は、ファクトリメソッドを返します。 |
StringSE | getInitMethodName() 初期化メソッドの名前を返します。 |
SupplierSE<?> | getInstanceSupplier() Bean のインスタンスを作成するためのコールバックがあれば、それを返します。 |
MethodOverrides | getMethodOverrides() IoC コンテナーによってオーバーライドされるメソッドに関する情報を返します。 |
BeanDefinition | getOriginatingBeanDefinition() 元の BeanDefinition を返すか、存在しない場合は null を返します。 |
MutablePropertyValues | getPropertyValues() この Bean のプロパティ値を返します(決して null ではありません)。 |
AutowireCandidateQualifier | getQualifier(StringSE typeName) 指定された型名にマッピングされた修飾子を返します。 |
SetSE<AutowireCandidateQualifier> | getQualifiers() 登録されているすべての修飾子を返します。 |
int | getResolvedAutowireMode() 解決された autowire コードを返します(AUTOWIRE_AUTODETECT を AUTOWIRE_CONSTRUCTOR または AUTOWIRE_BY_TYPE に解決します)。 |
Resource | getResource() この Bean 定義の元となったリソースを返します。 |
StringSE | getResourceDescription() この Bean 定義の元となったリソースの説明を返します(エラーの場合にコンテキストを表示するため)。 |
int | getRole() この BeanDefinition のロールヒントを返します。 |
StringSE | getScope() Bean のターゲットスコープの名前を返します。 |
boolean | hasBeanClass() この定義が Bean クラスを指定しているかどうかを返します。 |
boolean | hasConstructorArgumentValues() この Bean に定義されたコンストラクター引数値がある場合に返します。 |
int | hashCode() |
boolean | hasMethodOverrides() この Bean に定義されたメソッドのオーバーライドがある場合に返します。 |
boolean | hasPropertyValues() この Bean に定義されたプロパティ値値があるかどうかを返します。 |
boolean | hasQualifier(StringSE typeName) この Bean に指定された修飾子があるかどうかを返します。 |
boolean | isAbstract() この Bean が「抽象的」かどうかを返します。 |
boolean | isAutowireCandidate() この Bean が他の Bean にオートワイヤーされる候補であるかどうかを返します。 |
boolean | isEnforceDestroyMethod() 構成された destroy メソッドがデフォルトかどうかを示します。 |
boolean | isEnforceInitMethod() 構成された init メソッドがデフォルトかどうかを示します。 |
boolean | isLazyInit() この Bean を遅延初期化するかどうかを返します。 |
boolean | isLenientConstructorResolution() 緩やかなモードまたは厳格なモードでコンストラクターを解決するかどうかを返します。 |
boolean | isNonPublicAccessAllowed() 非 public コンストラクターおよびメソッドへのアクセスを許可するかどうかを返します。 |
boolean | isPrimary() この Bean がプライマリオートワイヤ候補であるかどうかを返します。 |
boolean | isPrototype() これが Prototype であるかどうかを返します。呼び出しごとに独立したインスタンスが返されます。 |
boolean | isSingleton() これがシングルトンかどうかを返します。すべての呼び出しから単一の共有インスタンスが返されます。 |
boolean | isSynthetic() この Bean 定義が「合成」であるかどうか、つまり、アプリケーション自体によって定義されていないかどうかを返します。 |
void | overrideFrom(BeanDefinition other) この Bean 定義(おそらく親子継承関連からコピーされた親)の設定を、指定された Bean 定義(おそらく子)からオーバーライドします。 |
protected void | prepareMethodOverride(MethodOverride mo) 指定されたメソッドのオーバーライドを検証して準備します。 |
void | prepareMethodOverrides() この Bean に定義されたメソッドオーバーライドを検証および準備します。 |
ClassSE<?> | resolveBeanClass(ClassLoaderSE classLoader) ラップされた Bean のクラスを判別し、必要に応じて指定されたクラス名から解決します。 |
void | setAbstract(boolean abstractFlag) この Bean が「抽象的」、つまり |
void | setAutowireCandidate(boolean autowireCandidate) この Bean が他の Bean にオートワイヤーされる候補であるかどうかを設定します。 |
void | setAutowireMode(int autowireMode) オートワイヤーモードを設定します。 |
void | setBeanClass(ClassSE<?> beanClass) この Bean のクラスを指定します。 |
void | setBeanClassName(StringSE beanClassName) この Bean 定義の Bean クラス名を指定します。 |
void | setConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues) この Bean のコンストラクター引数値を指定します。 |
void | setDependencyCheck(int dependencyCheck) 依存関係チェックコードを設定します。 |
void | setDependsOn(StringSE... dependsOn) この Bean が初期化されることに依存する Bean の名前を設定します。 |
void | setDescription(StringSE description) この Bean 定義の人間が読み取れる説明を設定します。 |
void | setDestroyMethodName(StringSE destroyMethodName) destroy メソッドの名前を設定します。 |
void | setEnforceDestroyMethod(boolean enforceDestroyMethod) 構成された破棄メソッドがデフォルトであるかどうかを指定します。 |
void | setEnforceInitMethod(boolean enforceInitMethod) 構成された init メソッドがデフォルトかどうかを指定します。 |
void | setFactoryBeanName(StringSE factoryBeanName) 使用するファクトリ Bean を指定します(ある場合)。 |
void | setFactoryMethodName(StringSE factoryMethodName) 存在する場合は、ファクトリメソッドを指定します。 |
void | setInitMethodName(StringSE initMethodName) 初期化メソッドの名前を設定します。 |
void | setInstanceSupplier(SupplierSE<?> instanceSupplier) 宣言的に指定されたファクトリメソッドの代わりとして、Bean のインスタンスを作成するためのコールバックを指定します。 |
void | setLazyInit(boolean lazyInit) この Bean を遅延初期化するかどうかを設定します。 |
void | setLenientConstructorResolution(boolean lenientConstructorResolution) 緩やかなモード(デフォルトは true )でコンストラクターを解決するか、厳密な解決に切り替えるか(引数の変換時にすべてが一致するあいまいなコンストラクターの場合は例外をスローしますが、緩やかなモードでは 'closest ' 型が一致します)。 |
void | setMethodOverrides(MethodOverrides methodOverrides) Bean のメソッドオーバーライドを指定します(ある場合)。 |
void | setNonPublicAccessAllowed(boolean nonPublicAccessAllowed) 外部化されたメタデータが指す場合に、非 public コンストラクターおよびメソッドへのアクセスを許可するかどうかを指定します。 |
void | setOriginatingBeanDefinition(BeanDefinition originatingBd) 発信元を設定します(例: |
void | setPrimary(boolean primary) この Bean がプライマリオートワイヤー候補かどうかを設定します。 |
void | setPropertyValues(MutablePropertyValues propertyValues) この Bean のプロパティ値を指定します(ある場合)。 |
void | setResource(Resource resource) この Bean 定義のソースであるリソースを設定します(エラーの場合にコンテキストを表示するため)。 |
void | setResourceDescription(StringSE resourceDescription) この Bean 定義の元となったリソースの説明を設定します(エラーの場合にコンテキストを表示するため)。 |
void | setRole(int role) この BeanDefinition のロールヒントを設定します。 |
void | setScope(StringSE scope) Bean のターゲットスコープの名前を設定します。 |
void | setSynthetic(boolean synthetic) この Bean 定義が「合成」であるかどうか、つまりアプリケーション自体によって定義されていないかどうかを設定します(たとえば、 <aop:config> を介して作成された自動プロキシのヘルパーなどのインフラストラクチャ Bean)。 |
StringSE | toString() |
void | validate() この Bean 定義を検証します。 |
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
attributeNames, copyAttributesFrom, hasAttribute
finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getParentName, setParentName
attributeNames, getAttribute, hasAttribute, removeAttribute, setAttribute
getSource
public static final StringSE SCOPE_DEFAULT
""
、親 Bean 定義からオーバーライドされない限り、シングルトンステータスと同等(該当する場合)。public static final int AUTOWIRE_NO
setAutowireMode(int)
, 定数フィールド値 public static final int AUTOWIRE_BY_NAME
setAutowireMode(int)
, 定数フィールド値 public static final int AUTOWIRE_BY_TYPE
setAutowireMode(int)
, 定数フィールド値 public static final int AUTOWIRE_CONSTRUCTOR
setAutowireMode(int)
, 定数フィールド値 @DeprecatedSE public static final int AUTOWIRE_AUTODETECT
setAutowireMode(int)
, 定数フィールド値 public static final int DEPENDENCY_CHECK_NONE
public static final int DEPENDENCY_CHECK_OBJECTS
public static final int DEPENDENCY_CHECK_SIMPLE
public static final int DEPENDENCY_CHECK_ALL
public static final StringSE INFER_METHOD
destroy method name
を推測しようとすることを示す定数。値「(推論)」は、メソッド名に不正な文字が含まれるように特別に設計されており、同じ名前を持つ正当に名前が付けられたメソッドとの衝突の可能性がなくなります。現在、destroy メソッドの推論中に検出されたメソッド名は、特定の Bean クラスに存在する場合、"close" と "shutdown" です。
protected AbstractBeanDefinition()
protected AbstractBeanDefinition(@Nullable ConstructorArgumentValues cargs, @Nullable MutablePropertyValues pvs)
protected AbstractBeanDefinition(BeanDefinition original)
original
- コピー元の元の Bean 定義 public void overrideFrom(BeanDefinition other)
abstract
、scope
、lazyInit
、autowireMode
、dependencyCheck
、dependsOn
を取得します。constructorArgumentValues
、propertyValues
、methodOverrides
を追加します。factoryBeanName
、factoryMethodName
、initMethodName
、destroyMethodName
をオーバーライドします。public void applyDefaults(BeanDefinitionDefaults defaults)
defaults
- 適用するデフォルト設定 public void setBeanClassName(@Nullable StringSE beanClassName)
public ClassSE<?> getBeanClass() throws IllegalStateExceptionSE
null
)IllegalStateExceptionSE
- Bean 定義で Bean クラスが定義されていない場合、または指定された Bean クラス名が実際のクラスにまだ解決されていない場合 hasBeanClass()
, setBeanClass(Class)
, resolveBeanClass(ClassLoader)
public boolean hasBeanClass()
@Nullable public ClassSE<?> resolveBeanClass(@Nullable ClassLoaderSE classLoader) throws ClassNotFoundExceptionSE
classLoader
- (潜在的な)クラス名の解決に使用する ClassLoaderClassNotFoundExceptionSE
- クラス名が解決できた場合 public void setScope(@Nullable StringSE scope)
デフォルトはシングルトンステータスですが、これは、Bean 定義が包含ファクトリでアクティブになったときにのみ適用されます。Bean 定義は、最終的には親 Bean 定義からスコープを継承する可能性があります。このため、デフォルトのスコープ名は空の文字列(つまり、""
)であり、解決されたスコープが設定されるまで、シングルトンステータスが想定されます。
BeanDefinition
の setScope
BeanDefinition.SCOPE_SINGLETON
, BeanDefinition.SCOPE_PROTOTYPE
@Nullable public StringSE getScope()
BeanDefinition
の getScope
public boolean isSingleton()
BeanDefinition
の isSingleton
BeanDefinition.SCOPE_SINGLETON
public boolean isPrototype()
BeanDefinition
の isPrototype
BeanDefinition.SCOPE_PROTOTYPE
public void setAbstract(boolean abstractFlag)
デフォルトは "false" です。true を指定すると、Bean ファクトリは、特定の Bean をインスタンス化しないようにします。
public boolean isAbstract()
BeanDefinition
の isAbstract
public void setLazyInit(boolean lazyInit)
false
の場合、Bean は起動時にシングルトンの先行初期化を実行する Bean ファクトリによってインスタンス化されます。
BeanDefinition
の setLazyInit
public boolean isLazyInit()
BeanDefinition
の isLazyInit
false
)public void setAutowireMode(int autowireMode)
autowireMode
- 設定する autowire モード。このクラスで定義されている定数の 1 つでなければなりません。AUTOWIRE_NO
, AUTOWIRE_BY_NAME
, AUTOWIRE_BY_TYPE
, AUTOWIRE_CONSTRUCTOR
, AUTOWIRE_AUTODETECT
public int getAutowireMode()
public int getResolvedAutowireMode()
public void setDependencyCheck(int dependencyCheck)
dependencyCheck
- 設定するコード。このクラスで定義されている 4 つの定数のいずれかである必要があります。DEPENDENCY_CHECK_NONE
, DEPENDENCY_CHECK_OBJECTS
, DEPENDENCY_CHECK_SIMPLE
, DEPENDENCY_CHECK_ALL
public int getDependencyCheck()
public void setDependsOn(@Nullable StringSE... dependsOn)
依存関係は通常、Bean プロパティまたはコンストラクター引数によって表現されることに注意してください。このプロパティは、静的(* ugh *)や起動時のデータベースの準備など、他の種類の依存関係にのみ必要です。
BeanDefinition
の setDependsOn
@Nullable public StringSE[] getDependsOn()
BeanDefinition
の getDependsOn
public void setAutowireCandidate(boolean autowireCandidate)
このフラグは、型ベースのオートワイヤーにのみ影響するように設計されていることに注意してください。名前による明示的な参照には影響しません。指定された Bean がオートワイヤー候補としてマークされていなくても解決されます。結果として、名前によるオートワイヤーでは、名前が一致する場合でも Bean が挿入されます。
BeanDefinition
の setAutowireCandidate
AUTOWIRE_BY_TYPE
, AUTOWIRE_BY_NAME
public boolean isAutowireCandidate()
BeanDefinition
の isAutowireCandidate
public void setPrimary(boolean primary)
複数の一致する候補の中の 1 つの Bean に対してこの値が true
である場合、タイブレーカーとして機能します。
BeanDefinition
の setPrimary
public boolean isPrimary()
BeanDefinition
の isPrimary
public void addQualifier(AutowireCandidateQualifier qualifier)
public boolean hasQualifier(StringSE typeName)
@Nullable public AutowireCandidateQualifier getQualifier(StringSE typeName)
public SetSE<AutowireCandidateQualifier> getQualifiers()
AutowireCandidateQualifier
オブジェクトのセット。public void copyQualifiersFrom(AbstractBeanDefinition source)
source
- コピー元の AbstractBeanDefinitionpublic void setInstanceSupplier(@Nullable SupplierSE<?> instanceSupplier)
そのようなコールバックが設定されている場合、他のコンストラクターまたはファクトリメソッドメタデータをオーバーライドします。ただし、Bean プロパティの母集団と潜在的なアノテーション駆動型の注入は、引き続き通常どおり適用されます。
@Nullable public SupplierSE<?> getInstanceSupplier()
public void setNonPublicAccessAllowed(boolean nonPublicAccessAllowed)
true
です。パブリックアクセスの場合のみ、これを false
に切り替えます。これは、コンストラクターの解決、ファクトリメソッドの解決、init/destroy メソッドにも適用されます。Bean プロパティアクセサーはいずれの場合もパブリックである必要があり、この設定の影響を受けません。
アノテーション駆動型設定は、アノテーションが付けられている限り、非公開メンバーに引き続きアクセスすることに注意してください。この設定は、この Bean 定義の外部化されたメタデータにのみ適用されます。
public boolean isNonPublicAccessAllowed()
public void setLenientConstructorResolution(boolean lenientConstructorResolution)
true
)でコンストラクターを解決するか、厳密な解決に切り替えるか(引数の変換時にすべてが一致するあいまいなコンストラクターの場合は例外をスローしますが、緩やかなモードでは 'closest ' 型が一致します)。public boolean isLenientConstructorResolution()
public void setFactoryBeanName(@Nullable StringSE factoryBeanName)
BeanDefinition
の setFactoryBeanName
setFactoryMethodName(java.lang.String)
@Nullable public StringSE getFactoryBeanName()
BeanDefinition
の getFactoryBeanName
public void setFactoryMethodName(@Nullable StringSE factoryMethodName)
BeanDefinition
の setFactoryMethodName
setFactoryBeanName(java.lang.String)
, setBeanClassName(java.lang.String)
@Nullable public StringSE getFactoryMethodName()
BeanDefinition
の getFactoryMethodName
public void setConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues)
public ConstructorArgumentValues getConstructorArgumentValues()
null
は絶対にしないでください)。BeanDefinition
の getConstructorArgumentValues
null
)public boolean hasConstructorArgumentValues()
BeanDefinition
の hasConstructorArgumentValues
public void setPropertyValues(MutablePropertyValues propertyValues)
public MutablePropertyValues getPropertyValues()
null
ではありません)。BeanDefinition
の getPropertyValues
null
)public boolean hasPropertyValues()
BeanDefinition
の hasPropertyValues
public void setMethodOverrides(MethodOverrides methodOverrides)
public MethodOverrides getMethodOverrides()
null
を返しません。
public boolean hasMethodOverrides()
public void setInitMethodName(@Nullable StringSE initMethodName)
デフォルトは null
です。この場合、初期化メソッドはありません。
BeanDefinition
の setInitMethodName
@Nullable public StringSE getInitMethodName()
BeanDefinition
の getInitMethodName
public void setEnforceInitMethod(boolean enforceInitMethod)
デフォルト値は false
です。
public boolean isEnforceInitMethod()
getInitMethodName()
public void setDestroyMethodName(@Nullable StringSE destroyMethodName)
デフォルトは null
です。この場合、destroy メソッドはありません。
BeanDefinition
の setDestroyMethodName
@Nullable public StringSE getDestroyMethodName()
BeanDefinition
の getDestroyMethodName
public void setEnforceDestroyMethod(boolean enforceDestroyMethod)
デフォルト値は false
です。
public boolean isEnforceDestroyMethod()
public void setSynthetic(boolean synthetic)
<aop:config>
を介して作成された自動プロキシのヘルパーなどのインフラストラクチャ Bean)。public boolean isSynthetic()
public void setRole(int role)
BeanDefinition
のロールヒントを設定します。public int getRole()
BeanDefinition
のロールヒントを返します。public void setDescription(@Nullable StringSE description)
BeanDefinition
の setDescription
@Nullable public StringSE getDescription()
BeanDefinition
の getDescription
public void setResource(@Nullable Resource resource)
public void setResourceDescription(@Nullable StringSE resourceDescription)
@Nullable public StringSE getResourceDescription()
BeanDefinition
の getResourceDescription
public void setOriginatingBeanDefinition(BeanDefinition originatingBd)
@Nullable public BeanDefinition getOriginatingBeanDefinition()
null
を返します。装飾された Bean 定義があれば、それを取得できるようにします。このメソッドは直接の発信者を返すことに注意してください。オリジネーターチェーンを反復処理して、ユーザーが定義した元の BeanDefinition を見つけます。
BeanDefinition
の getOriginatingBeanDefinition
public void validate() throws BeanDefinitionValidationException
BeanDefinitionValidationException
- 検証に失敗した場合 public void prepareMethodOverrides() throws BeanDefinitionValidationException
BeanDefinitionValidationException
- 検証に失敗した場合 protected void prepareMethodOverride(MethodOverride mo) throws BeanDefinitionValidationException
mo
- 検証する MethodOverride オブジェクト BeanDefinitionValidationException
- 検証に失敗した場合 public ObjectSE clone()
clone()
メソッドのパブリック宣言。cloneBeanDefinition()
へのデリゲート。ObjectSE
の cloneSE
Object.clone()
SEpublic abstract AbstractBeanDefinition cloneBeanDefinition()
public boolean equals(ObjectSE other)
AttributeAccessorSupport
の equals
public int hashCode()
AttributeAccessorSupport
の hashCode
public StringSE toString()
ObjectSE
の toStringSE