示例
db.demo.enable=true
添加maven依賴項(xiàng)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
該依賴可以解決配置文件中,名稱高亮的問題.
設(shè)置配置
@ConditionalOnProperty(value = "db.demo.enable", havingValue = "true")
@Configuration
public class DbAutoConfiguration {
@Primary
@Bean(initMethod = "init", destroyMethod = "close")
@ConfigurationProperties(prefix = "db.demo")
public DruidDataSource dataSource() {
return new DruidDataSource();
}
}
- 代碼第一行
@ConditionalOnProperty
設(shè)置是否開啟該名稱下,db.demo
自定義注解.在配置文件中需要加入該配置且要其值為true
,例如:db.demo.enable=true
. - 在配置類中要加入@Configuration注解
-
@Primary
注解的介紹.在spring 中使用注解功氨,常使用@Autowired
肺稀, 默認(rèn)是根據(jù)類型Type來自動(dòng)注入的。但有些特殊情況这揣,對(duì)同一個(gè)接口匿沛,可能會(huì)有幾種不同的實(shí)現(xiàn)類港柜,而默認(rèn)只會(huì)采取其中一種的情況下@Primary
的作用就出來了痊项。 -
@ConfigurationProperties(prefix = "db.demo")
是定義配置名稱.
IDE配置
需要開啟注解模式.