@Retention(value=RUNTIME) @Target(value={TYPE,METHOD}) public @interface Conditional
A condition is any state that can be determined programmatically
before the bean definition is due to be registered (see Condition for details).
The @Conditional annotation may be used in any of the following ways:
@Component, including @Configuration classes@Bean methodIf a @Configuration class is marked with @Conditional, all of the
@Bean methods, @Import and @ComponentScan
annotations associated with that class will be subject to the conditions.
NOTE: @Conditional annotations are not inherited; any conditions from
superclasses or from overridden methods are not being considered.
Condition