クラス AnnotationBeanNameGenerator
java.lang.ObjectSE
org.springframework.context.annotation.AnnotationBeanNameGenerator
- 実装されたすべてのインターフェース:
BeanNameGenerator
- 既知の直属サブクラス
FullyQualifiedAnnotationBeanNameGenerator
@Component
アノテーションまたはそれ自体がメタアノテーションとして @Component
でアノテーションされた別のアノテーションでアノテーションが付けられた Bean クラスの BeanNameGenerator
実装。例: Spring のステレオタイプアノテーション(@Repository
など)自体は @Component
でアノテーションされています。 利用可能な場合は、Jakarta EE の ManagedBean
EE および JSR-330 の Named
EE アノテーション (および 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 StringSE
buildDefaultBeanName
(BeanDefinition definition) 指定された Bean 定義からデフォルトの Bean 名を導出します。protected StringSE
buildDefaultBeanName
(BeanDefinition definition, BeanDefinitionRegistry registry) 指定された Bean 定義からデフォルトの Bean 名を導出します。protected StringSE
determineBeanNameFromAnnotation
(AnnotatedBeanDefinition annotatedDef) クラスのいずれかのアノテーションから Bean 名を派生させます。generateBeanName
(BeanDefinition definition, BeanDefinitionRegistry registry) 指定された Bean 定義の Bean 名を生成します。protected boolean
isStereotypeWithNameValue
(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
)