@ConditionalOnProperty 的作用
时间: 2023-11-23 14:57:34 浏览: 40
@ConditionalOnProperty是Spring Boot中的一个注解,它的作用是根据配置文件中的属性值来决定是否创建一个Bean或者是否执行某段代码。当配置文件中的属性值与注解中指定的属性值相同时,才会创建Bean或者执行代码。如果配置文件中没有指定该属性,则默认为true。如果指定了该属性但是值不为true,则不会创建Bean或者执行代码。
下面是三个@ConditionalOnProperty的验证例子:
1. 当learn.conditionalOnProperty.enabled=false时,testNameProperty()方法就不再执行。
2. 只配置value属性时的情况,为了与1区别,配置项将设置其他值,如123。当learn.conditionalOnProperty.enabled=false时,testValueProperty()方法就不再执行。
3. havingValue的情况,配置项为learn.conditionalOnProperty.enabled=test。
相关问题
@ConditionalOnProperty作用
@ConditionalOnProperty注解是Spring Boot的条件注解,它可以根据配置文件中的属性来控制某个配置类是否生效,或者控制某个Bean是否被创建。当配置文件中的属性值与注解中指定的值相同时,@ConditionalOnProperty注解所标注的类或方法才会被执行。这个注解可以用于控制Bean的创建,也可以用于控制配置类的创建。需要注意的是,@ConditionalOnProperty注解只代表符合条件就执行注入,不代表它有@Configuration注解的作用,所以想控制一个配置类是就需要有@ConditionalOnProperty和@Configuration注解。
下面是一个使用@ConditionalOnProperty注解的例子,当配置文件中的属性spring.profiles.active的值为dev时,才会创建名为devDataSource的Bean:
```java
@Configuration
public class DataSourceConfig {
@Bean(name = "devDataSource")
@ConditionalOnProperty(prefix = "spring.profiles", name = "active", havingValue = "dev")
public DataSource devDataSource() {
// 创建dev环境下的DataSource
}
@Bean(name = "prodDataSource")
@ConditionalOnProperty(prefix = "spring.profiles", name = "active", havingValue = "prod")
public DataSource prodDataSource() {
// 创建prod环境下的DataSource
}
}
```
@conditionalonproperty作用
@ConditionalOnProperty是Spring Boot中的一个注解,它的作用是根据配置文件中的属性值来决定是否启用某个Bean或者配置某些属性。当配置文件中的属性值满足一定条件时,@ConditionalOnProperty注解所标注的Bean才会被创建。这个注解可以用于控制Bean的创建和配置,从而实现更加灵活的应用程序开发。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)