SpringBoot使用Yml配置檔案
阿新 • • 發佈:2019-02-07
新增依賴
發現SpringBoot2 中不新增這個依賴也能正常執行 , 但是在寫yml時IDEA不能智慧提示, 然後會警告依賴缺失
Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
Gradle
需要配置額外的外掛
buildscript {
repositories {
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies {
classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE'
}
}
// ...
configure(allprojects) {
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
apply plugin: 'propdeps-eclipse'
}
dependencies {
optional "org.springframework.boot:spring-boot-configuration-processor"
}
compileJava.dependsOn(processResources)
配置
person:
age: 12
name: king
配置對應類
@Data // lombok外掛
@Component
@ConfigurationProperties (prefix = "person")
public class MainConfig {
private int age;
private String name;
}
SpringBoot配置類
@Configuration
@EnableConfigurationProperties(MainConfig.class)
class AutoConfigProperties {
}
使用
直接將配置對應的類注入到要用的地方即可
實驗
Java+Maven
採用上面的maven方式進行配置即可正常使用
Java+Gradle
配置成功,不報錯,但是bean的屬性全是空
Groovy+Gradle
配置成功,不報錯,但是bean屬性全為空 而且不能使用@Value,會報錯,編譯不通過
Groovy+Maven
配置成功,不報錯,但是bean屬性全為空 而且不能使用@Value,會報錯,編譯不通過
Java+Groovy+Maven
終於成功了,配置檔案對應類採用Java其他的採用Groovy,構建工具用maven就能正常使用了
所以以上到底是因為什麼。。。。