1. 程式人生 > >SpringBoot使用Yml配置檔案

SpringBoot使用Yml配置檔案

新增依賴

發現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就能正常使用了

所以以上到底是因為什麼。。。。