您的位置: > 工作总结 >

@ConditionalOnProperty配置属性作为条件

时间:2023-10-09 17:02:36  来源:养殖之家网   作者:随风


@ConditionalOnProperty配置属性作为条件

1.@ConditionalOnProperty​做什么用的?

主要是根据配置参数,来决定是否需要创建这个bean,这样就给了我们一个根据配置来控制Bean的选择的手段了,不启用只需要更改配置即可。

​@ConditionalOnProperty​源码

package org.springframework.boot.autoconfigure.condition;import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.context.annotation.Conditional;@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) @Documented @Conditional({OnPropertyCondition.class}) public @interface ConditionalOnProperty {String[] value() default {};String prefix() default "";String[] name() default {};String havingValue() default "";boolean matchIfMissing() default false; }

2.项目实际使用

配置参数

@Bean @ConfigurationProperties("spring.datasource.druid.slave") @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true") public DataSource slaveDataSource(DruidProperties druidProperties) {DruidDataSource dataSource = DruidDataSourceBuilder.create().build();return druidProperties.dataSource(dataSource); }

3.配置


     slave:
        enabled: true
        url: jdbc:sqlserver://192.168.1.4:1433;SelectMethod=cursor;DatabaseName=demo
        username: sa
        password: 123456

4.总结

君子性非异也,善假于物也。 

 

"

上一篇:vue3+vite 引用svg图标 下一篇:没有了

相关推荐

养殖之家网速递