@Retention(value=RUNTIME)
@Target(value={TYPE,METHOD})
public @interface Conditional
A condition is any state that can be determined programmatically
immediately before the bean is due to be created (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 and @Import annotations associated with that class
will be subject to the conditions.
Condition