A condition is any state that can be determined programmatically
immediately before the bean is due to be created (see
Condition for details).
@Conditional annotation may be used in any of the following ways:
@Configuration class is marked with
@Conditional, all of the
@Bean methods and
@Import annotations associated with that class
will be subject to the conditions.