public class FullyQualifiedAnnotationBeanNameGenerator extends AnnotationBeanNameGenerator
@Component
などのサポートされている型レベルのアノテーションを介して明示的な Bean 名が提供されない場合、デフォルトの Bean 名として完全修飾クラス名を使用する AnnotationBeanNameGenerator
の拡張(サポートされるアノテーションの詳細については AnnotationBeanNameGenerator
を参照)。 複数の自動検出されたコンポーネントが同じ非修飾クラス名(つまり、同じ名前であるが異なるパッケージに存在するクラス)を持つために名前が競合する場合は、AnnotationBeanNameGenerator
よりもこの Bean 命名戦略を優先してください。
このクラスのインスタンスは、構成レベルのインポートのためにデフォルトで使用されることに注意してください。一方、コンポーネントのスキャン目的のデフォルトはプレーンな AnnotationBeanNameGenerator
です。
DefaultBeanNameGenerator
, AnnotationBeanNameGenerator
, ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR
INSTANCE
コンストラクターと説明 |
---|
FullyQualifiedAnnotationBeanNameGenerator() |
修飾子と型 | メソッドと説明 |
---|---|
protected StringSE | buildDefaultBeanName(BeanDefinition definition) 指定された Bean 定義からデフォルトの Bean 名を導出します。 |
buildDefaultBeanName, determineBeanNameFromAnnotation, generateBeanName, isStereotypeWithNameValue
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public FullyQualifiedAnnotationBeanNameGenerator()
protected StringSE buildDefaultBeanName(BeanDefinition definition)
AnnotationBeanNameGenerator
デフォルトの実装では、短いクラス名の小文字バージョンが単純に構築されます。例: "mypackage.MyJdbcDao" -> "myJdbcDao"。
内部クラスの名前は "outerClassName.InnerClassName" の形式になりますが、名前にピリオドが含まれているため、名前でオートワイヤーする場合は問題が発生する可能性があることに注意してください。
AnnotationBeanNameGenerator
の buildDefaultBeanName
definition
- Bean 名を作成する Bean 定義 null
)