package com.tutego.ch_02.autoConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ConditionalConfiguration {
private static final Logger logger = LoggerFactory.getLogger(ConditionalConfiguration.class);
private static class A {
public A() {
logger.info("bean: a has been created");
}
}
@Bean
@ConditionalOnExpression("1+1==2")
public A conditionalBeanOne() {
return new A();
}
@Bean
@ConditionalOnProperty(name = "conditional.property", havingValue = "true")
public A conditionalBeanTwo() {
return new A();
}
}