|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) @Documented public @interface FullyQualified
The annotation @FullQualified, when used on a bean type, producer method or producer field, indicates that the standard bean name that would be assigned should first be prepended with the package in which the bean resides, thus resulting in a fully-qualified bean name (FQBN).
FQBN syntax
PackageName: Package name of type or containing type Period: A period character (i.e., '.') BeanName: The standard bean name for the element
Processing rules - @FullyQualified is permitted on a bean type, producer method, producer field or a Java package. This annotation is only processed by the extension that provides it when used in combination with @Named on a bean type, producer method or producer field. Though, that does not exclude it from being used as a common annotation for other purposes.
Motivation - The default behavior of @Named (as
documented in Named
) is the most common use case for
application developers. However, framework writers should avoid trampling on
the "root" bean namespace. Instead, frameworks should specify qualified names
for built-in components. The motivation is the same as qualifying Java types.
The @FullyQualified provides this facility without sacrificing
type-safety.
javax.inject.Named}
Optional Element Summary | |
---|---|
Class<?> |
value
A class from the package that should be used as the namespace that is prepended to the bean name. |
public abstract Class<?> value
Class
.class specifies that the current package should be used.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |