クラス AnnotationBeanNameGenerator
java.lang.ObjectSE
org.springframework.context.annotation.AnnotationBeanNameGenerator
- 実装されているすべてのインターフェース:
BeanNameGenerator
- 既知の直属サブクラス
FullyQualifiedAnnotationBeanNameGenerator
@Component アノテーションまたはそれ自体がメタアノテーションとして @Component でアノテーションされた別のアノテーションでアノテーションが付けられた Bean クラスの BeanNameGenerator 実装。例: Spring のステレオタイプアノテーション(@Repository など)自体は @Component でアノテーションされています。 利用可能な場合は、Jakarta EE の ManagedBeanEE および JSR-330 の NamedEE アノテーション (および Jakarta 以前の javax.annotation.ManagedBean および javax.inject.Named の同等のアノテーション) もサポートします。Spring コンポーネントのアノテーションは、そのような標準のアノテーションを常にオーバーライドすることに注意してください。
アノテーションの値が Bean 名を示していない場合、最初の 2 文字が大文字でない限り、クラスの短い名前 (最初の文字を小文字にしたもの) に基づいて適切な名前が作成されます。例:
com.xyz.FooServiceImpl -> fooServiceImpl
com.xyz.URLFooServiceImpl -> URLFooServiceImpl
- 導入:
- 2.5
- 作成者:
- Juergen Hoeller, Mark Fisher, Sam Brannen
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明static final AnnotationBeanNameGeneratorコンポーネントのスキャン目的で使用される、デフォルトのAnnotationBeanNameGeneratorインスタンスの便利な定数。コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected StringSEbuildDefaultBeanName(BeanDefinition definition) 指定された Bean 定義からデフォルトの Bean 名を導出します。protected StringSEbuildDefaultBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) 指定された Bean 定義からデフォルトの Bean 名を導出します。protected StringSEdetermineBeanNameFromAnnotation(AnnotatedBeanDefinition annotatedDef) クラスのいずれかのアノテーションから Bean 名を派生させます。generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) 指定された Bean 定義の Bean 名を生成します。protected booleanisStereotypeWithNameValue(StringSE annotationType, SetSE<StringSE> metaAnnotationTypes, MapSE<StringSE, ObjectSE> attributes) 指定されたアノテーションが、value()属性を通じてコンポーネント名を提案できるステレオタイプであるかどうかを確認します。
フィールドの詳細
INSTANCE
コンポーネントのスキャン目的で使用される、デフォルトのAnnotationBeanNameGeneratorインスタンスの便利な定数。- 導入:
- 5.2
コンストラクターの詳細
AnnotationBeanNameGenerator
public AnnotationBeanNameGenerator()
メソッドの詳細
generateBeanName
インターフェースからコピーされた説明:BeanNameGenerator指定された Bean 定義の Bean 名を生成します。- 次で指定:
- インターフェース
BeanNameGeneratorのgenerateBeanName - パラメーター:
definition- 名前を生成する Bean 定義registry- 指定された定義が登録されることになっている Bean 定義レジストリ- 戻り値:
- 生成された Bean 名
determineBeanNameFromAnnotation
クラスのいずれかのアノテーションから Bean 名を派生させます。- パラメーター:
annotatedDef- アノテーション対応の Bean 定義- 戻り値:
- Bean 名。見つからない場合は
null
isStereotypeWithNameValue
protected boolean isStereotypeWithNameValue(StringSE annotationType, SetSE<StringSE> metaAnnotationTypes, MapSE<StringSE, ObjectSE> attributes) 指定されたアノテーションが、value()属性を通じてコンポーネント名を提案できるステレオタイプであるかどうかを確認します。- パラメーター:
annotationType- チェックするアノテーションクラスの名前metaAnnotationTypes- 指定されたアノテーションのメタアノテーションの名前attributes- 指定されたアノテーションの属性のマップ- 戻り値:
- アノテーションがコンポーネント名を持つステレオタイプとして適格かどうか
buildDefaultBeanName
指定された Bean 定義からデフォルトの Bean 名を導出します。デフォルトの実装は
buildDefaultBeanName(BeanDefinition)に委譲します。- パラメーター:
definition- Bean 名を作成する Bean 定義registry- 指定された Bean 定義が登録されているレジストリ- 戻り値:
- デフォルトの Bean 名 (非
null)
buildDefaultBeanName
指定された Bean 定義からデフォルトの Bean 名を導出します。デフォルトの実装では、短いクラス名の小文字バージョンが単純に構築されます。たとえば、"mypackage.MyJdbcDao" → "myJdbcDao" です。
内部クラスの名前は "outerClassName.InnerClassName" の形式になりますが、名前にピリオドが含まれているため、名前でオートワイヤーする場合は問題が発生する可能性があることに注意してください。
- パラメーター:
definition- Bean 名を作成する Bean 定義- 戻り値:
- デフォルトの Bean 名 (非
null)