public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccessor implements BeanDefinition, java.lang.Cloneable
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 java.lang.String | INFER_METHOD メソッド名を明示的に指定するのではなく、コンテナーが Bean の destroy method name を推測しようとすることを示す定数。 |
static java.lang.String | 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 に適用します。 |
java.lang.Object | clone() オブジェクトの clone() メソッドのパブリック宣言。 |
abstract AbstractBeanDefinition | cloneBeanDefinition() この Bean 定義を複製します。 |
void | copyQualifiersFrom(AbstractBeanDefinition source) 提供された AbstractBeanDefinition からこの Bean 定義に修飾子をコピーします。 |
boolean | equals(java.lang.Object other) |
int | getAutowireMode() Bean 定義で指定されたオートワイヤーモードを返します。 |
java.lang.Class<?> | getBeanClass() すでに解決されている場合は、ラップされた Bean のクラスを返します。 |
java.lang.String | getBeanClassName() この Bean 定義の現在の Bean クラス名を返します。 |
ConstructorArgumentValues | getConstructorArgumentValues() この Bean のコンストラクター引数値を返します( null は絶対にしないでください)。 |
int | getDependencyCheck() 依存関係チェックコードを返します。 |
java.lang.String[] | getDependsOn() この Bean が依存する Bean 名を返します。 |
java.lang.String | getDescription() この Bean 定義の人間が読み取れる説明を返します。 |
java.lang.String | getDestroyMethodName() destroy メソッドの名前を返します。 |
java.lang.String | getFactoryBeanName() 存在する場合は、ファクトリ Bean 名を返します。 |
java.lang.String | getFactoryMethodName() 存在する場合は、ファクトリメソッドを返します。 |
java.lang.String | getInitMethodName() 初期化メソッドの名前を返します。 |
MethodOverrides | getMethodOverrides() IoC コンテナーによってオーバーライドされるメソッドに関する情報を返します。 |
BeanDefinition | getOriginatingBeanDefinition() 元の BeanDefinition を返すか、存在しない場合は null を返します。 |
MutablePropertyValues | getPropertyValues() この Bean のプロパティ値を返します(決して null ではありません)。 |
AutowireCandidateQualifier | getQualifier(java.lang.String typeName) 指定された型名にマッピングされた修飾子を返します。 |
java.util.Set<AutowireCandidateQualifier> | getQualifiers() 登録されているすべての修飾子を返します。 |
int | getResolvedAutowireMode() 解決された autowire コードを返します(AUTOWIRE_AUTODETECT を AUTOWIRE_CONSTRUCTOR または AUTOWIRE_BY_TYPE に解決します)。 |
Resource | getResource() この Bean 定義の元となったリソースを返します。 |
java.lang.String | getResourceDescription() この Bean 定義の元となったリソースの説明を返します(エラーの場合にコンテキストを表示するため)。 |
int | getRole() この BeanDefinition のロールヒントを返します。 |
java.lang.String | getScope() Bean のターゲットスコープの名前を返します。 |
boolean | hasBeanClass() この定義が Bean クラスを指定しているかどうかを返します。 |
boolean | hasConstructorArgumentValues() この Bean に定義されたコンストラクター引数値がある場合に返します。 |
int | hashCode() |
boolean | hasQualifier(java.lang.String 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 に定義されたメソッドオーバーライドを検証および準備します。 |
java.lang.Class<?> | resolveBeanClass(java.lang.ClassLoader classLoader) ラップされた Bean のクラスを判別し、必要に応じて指定されたクラス名から解決します。 |
void | setAbstract(boolean abstractFlag) この Bean が「抽象的」、つまり |
void | setAutowireCandidate(boolean autowireCandidate) この Bean が他の Bean にオートワイヤーされる候補であるかどうかを設定します。 |
void | setAutowireMode(int autowireMode) オートワイヤーモードを設定します。 |
void | setBeanClass(java.lang.Class<?> beanClass) この Bean のクラスを指定します。 |
void | setBeanClassName(java.lang.String beanClassName) この Bean 定義の Bean クラス名を指定します。 |
void | setConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues) この Bean のコンストラクター引数値を指定します。 |
void | setDependencyCheck(int dependencyCheck) 依存関係チェックコードを設定します。 |
void | setDependsOn(java.lang.String... dependsOn) この Bean が初期化されることに依存する Bean の名前を設定します。 |
void | setDescription(java.lang.String description) この Bean 定義の人間が読み取れる説明を設定します。 |
void | setDestroyMethodName(java.lang.String destroyMethodName) destroy メソッドの名前を設定します。 |
void | setEnforceDestroyMethod(boolean enforceDestroyMethod) 構成された破棄メソッドがデフォルトであるかどうかを指定します。 |
void | setEnforceInitMethod(boolean enforceInitMethod) 構成された init メソッドがデフォルトかどうかを指定します。 |
void | setFactoryBeanName(java.lang.String factoryBeanName) 使用するファクトリ Bean を指定します(ある場合)。 |
void | setFactoryMethodName(java.lang.String factoryMethodName) 存在する場合は、ファクトリメソッドを指定します。 |
void | setInitMethodName(java.lang.String initMethodName) 初期化メソッドの名前を設定します。 |
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(java.lang.String resourceDescription) この Bean 定義の元となったリソースの説明を設定します(エラーの場合にコンテキストを表示するため)。 |
void | setRole(int role) この BeanDefinition のロールヒントを設定します。 |
void | setScope(java.lang.String scope) Bean のターゲットスコープの名前を設定します。 |
void | setSynthetic(boolean synthetic) この Bean 定義が「合成」であるかどうか、つまりアプリケーション自体によって定義されていないかどうかを設定します(たとえば、 <aop:config> を介して作成された自動プロキシのヘルパーなどのインフラストラクチャ Bean)。 |
java.lang.String | toString() |
void | validate() この Bean 定義を検証します。 |
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
attributeNames, copyAttributesFrom, hasAttribute
getParentName, setParentName
attributeNames, getAttribute, hasAttribute, removeAttribute, setAttribute
getSource
public static final java.lang.String 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)
, 定数フィールド値 @Deprecated 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 java.lang.String INFER_METHOD
destroy method name
を推測しようとすることを示す定数。値「(推論)」は、メソッド名に不正な文字が含まれるように特別に設計されており、同じ名前を持つ正当に名前が付けられたメソッドとの衝突の可能性がなくなります。現在、destroy メソッドの推論中に検出されたメソッド名は、特定の Bean クラスに存在する場合、"close" と "shutdown" です。
protected AbstractBeanDefinition()
protected AbstractBeanDefinition(ConstructorArgumentValues cargs, 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(java.lang.String beanClassName)
public java.lang.String getBeanClassName()
public void setBeanClass(java.lang.Class<?> beanClass)
public java.lang.Class<?> getBeanClass() throws java.lang.IllegalStateException
null
java.lang.IllegalStateException
- Bean 定義で Bean クラスが定義されていない場合、または指定された Bean クラス名が実際のクラスに解決されていない場合 public boolean hasBeanClass()
public java.lang.Class<?> resolveBeanClass(java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException
classLoader
- (潜在的な)クラス名の解決に使用する ClassLoaderjava.lang.ClassNotFoundException
- クラス名が解決できた場合 public void setScope(java.lang.String scope)
デフォルトはシングルトンステータスですが、これは、Bean 定義が包含ファクトリでアクティブになったときにのみ適用されます。Bean 定義は、最終的には親 Bean 定義からスコープを継承する可能性があります。このため、デフォルトのスコープ名は空の文字列(つまり、""
)であり、解決されたスコープが設定されるまで、シングルトンステータスが想定されます。
BeanDefinition
の setScope
BeanDefinition.SCOPE_SINGLETON
, BeanDefinition.SCOPE_PROTOTYPE
public java.lang.String 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
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(java.lang.String... dependsOn)
依存関係は通常、Bean プロパティまたはコンストラクター引数によって表現されることに注意してください。このプロパティは、静的(* ugh *)や起動時のデータベースの準備など、他の種類の依存関係にのみ必要です。
BeanDefinition
の setDependsOn
public java.lang.String[] 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(java.lang.String typeName)
public AutowireCandidateQualifier getQualifier(java.lang.String typeName)
public java.util.Set<AutowireCandidateQualifier> getQualifiers()
AutowireCandidateQualifier
オブジェクトのセット。public void copyQualifiersFrom(AbstractBeanDefinition source)
source
- コピー元の AbstractBeanDefinitionpublic 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(java.lang.String factoryBeanName)
BeanDefinition
の setFactoryBeanName
setFactoryMethodName(java.lang.String)
public java.lang.String getFactoryBeanName()
BeanDefinition
の getFactoryBeanName
public void setFactoryMethodName(java.lang.String factoryMethodName)
BeanDefinition
の setFactoryMethodName
setFactoryBeanName(java.lang.String)
, setBeanClassName(java.lang.String)
public java.lang.String getFactoryMethodName()
BeanDefinition
の getFactoryMethodName
public void setConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues)
public ConstructorArgumentValues getConstructorArgumentValues()
null
は絶対にしないでください)。BeanDefinition
の getConstructorArgumentValues
null
)public boolean hasConstructorArgumentValues()
public void setPropertyValues(MutablePropertyValues propertyValues)
public MutablePropertyValues getPropertyValues()
null
ではありません)。BeanDefinition
の getPropertyValues
null
)public void setMethodOverrides(MethodOverrides methodOverrides)
public MethodOverrides getMethodOverrides()
null
は返されません。public void setInitMethodName(java.lang.String initMethodName)
null
で、この場合初期化メソッドはありません。public java.lang.String getInitMethodName()
public void setEnforceInitMethod(boolean enforceInitMethod)
false
です。public boolean isEnforceInitMethod()
getInitMethodName()
public void setDestroyMethodName(java.lang.String destroyMethodName)
null
で、この場合、破棄メソッドはありません。public java.lang.String 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(java.lang.String description)
public java.lang.String getDescription()
BeanDefinition
の getDescription
public void setResource(Resource resource)
public Resource getResource()
public void setResourceDescription(java.lang.String resourceDescription)
public java.lang.String getResourceDescription()
BeanDefinition
の getResourceDescription
public void setOriginatingBeanDefinition(BeanDefinition originatingBd)
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 java.lang.Object clone()
clone()
メソッドのパブリック宣言。cloneBeanDefinition()
へのデリゲート。java.lang.Object
の clone
Object.clone()
public abstract AbstractBeanDefinition cloneBeanDefinition()
public boolean equals(java.lang.Object other)
AttributeAccessorSupport
の equals
public int hashCode()
AttributeAccessorSupport
の hashCode
public java.lang.String toString()
java.lang.Object
の toString