Annotation Interface DefaultImplementation
An annotation to apply to an interface to indicate which implementation is the default implementation.
When a bean is looked up and if there are multiple possible candidates with
 no concrete Primary this annotation will impact bean selection by
 selecting the default implementation.
It should be noted that Primary and Ordered
 take precedence over this an annotation and a fallback to the default implementation only
 occurs if no primary candidate can be established.
Note that this annotation also has an impact on bean replacement via Replaces
 to another class to allow the replacement of an implementation that isn't
 accessible due to visibility restrictions.
For example:
 @DefaultImplementation(MyImpl.class)
 public interface SomeInterface {
 }
 class MyImpl implements SomeInterface {
 }
 @Replaces(SomeInterface.class)
 class OtherImpl implements SomeInterface {
 }
 
 In the above example the OtherImpl bean will replace the
 MyImpl bean because the class in the Replaces annotation
 has a default implementation.
- Since:
- 1.2.0
- Author:
- James Kleeh
- 
Optional Element SummaryOptional Elements
- 
Element Details- 
value- Returns:
- The bean type that is the default implementation
 - Default:
- void.class
 
- 
nameString name- Returns:
- The fully qualified bean type name that is the default implementation
 - Default:
- ""
 
 
-