java.lang.Object | |
↳ | org.springframework.context.annotation.AnnotationBeanNameGenerator |
BeanNameGenerator
implementation for bean classes annotated with the
@Component
annotation
or with another annotation that is itself annotated with
@Component
as a
meta-annotation. For example, Spring's stereotype annotations (such as
@Repository
) are
themselves annotated with
@Component
.
Also supports Java EE 6's javax.annotation.ManagedBean and JSR-330's javax.inject.Named annotations, if available. Note that Spring component annotations always override such standard annotations.
If the annotation's value doesn't indicate a bean name, an appropriate name will be built based on the short name of the class (with the first letter lower-cased). For example:
com.xyz.FooServiceImpl -> fooServiceImpl
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Generate a bean name for the given bean definition.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Derive a default bean name from the given bean definition.
| |||||||||||
Derive a bean name from one of the annotations on the class.
| |||||||||||
Check whether the given annotation is a stereotype that is allowed
to suggest a component name through its annotation
value() . |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.beans.factory.support.BeanNameGenerator
|
Generate a bean name for the given bean definition.
definition | the bean definition to generate a name for |
---|---|
registry | the bean definition registry that the given definition is supposed to be registered with |
Derive a default bean name from the given bean definition.
The default implementation simply builds a decapitalized version of the short class name: e.g. "mypackage.MyJdbcDao" -> "myJdbcDao".
Note that inner classes will thus have names of the form "outerClassName.innerClassName", which because of the period in the name may be an issue if you are autowiring by name.
definition | the bean definition to build a bean name for |
---|
null
)
Derive a bean name from one of the annotations on the class.
annotatedDef | the annotation-aware bean definition |
---|
null
if none is found
Check whether the given annotation is a stereotype that is allowed
to suggest a component name through its annotation value()
.
annotationType | the name of the annotation class to check |
---|---|
metaAnnotationTypes | the names of meta-annotations on the given annotation |
attributes | the map of attributes for the given annotation |