@ConditionalOnProperty是什么
时间: 2023-03-04 18:38:43 浏览: 53
@ConditionalOnProperty 是 Spring Boot 框架中的一个注解,它用于根据应用程序配置的属性值条件性地加载或配置 Bean。
具体来说,@ConditionalOnProperty 允许您在运行时基于应用程序配置的属性值来控制 Bean 是否应该被创建或配置。该注解有一个name属性,指定应用程序配置文件中的属性名,和一个havingValue属性,指定该属性的值。如果应用程序配置文件中的属性名存在且其值与havingValue属性相同,那么与该注解标注的Bean将会被创建或配置,否则不会。
举个例子,下面的代码片段展示了如何在一个Spring Boot应用中使用 @ConditionalOnProperty 注解:
```java
@Configuration
@ConditionalOnProperty(
name = "myapp.feature.enabled",
havingValue = "true")
public class MyFeatureAutoConfiguration {
// 配置项 myapp.feature.enabled 值为 true 时,创建该 Bean
@Bean
public MyFeature myFeature() {
return new MyFeature();
}
}
```
在上面的示例中,如果应用程序配置文件中名为 "myapp.feature.enabled" 的属性值为 "true",则该 MyFeatureAutoConfiguration 配置类中的 myFeature() 方法将被调用创建一个 MyFeature 的实例并将其注入到应用程序上下文中,否则 MyFeature 不会被创建。