ConditionalOnProperty注解使用介绍、应用场景以及示例代码
@ConditionalOnProperty
是一个 Spring Boot 的注解,它的作用是根据属性值来决定是否创建一个 Bean。如果配置的属性值满足指定的条件,那么 Spring 容器会创建这个 Bean,否则不会创建。
应用场景:
- 根据配置开启或关闭某些功能。
- 根据配置选择不同的实现。
- 根据配置进行不同环境的配置。
示例代码:
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyConfiguration {
@Bean
@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")
public MyFeature myFeature() {
return new MyFeature();
}
}
在这个例子中,MyFeature
Bean 只会在 application.properties
或 application.yml
中配置了 feature.enabled=true
时才会创建。如果没有配置或者值不是 true
,那么 myFeature
Bean 就不会被创建。
评论已关闭