2016-11-28 70 views
1

我想讀一個簡單的yml文件中的資源/ wtf.yml的Spring啓動應用程序。如果使用默認的application.yml文件名,則以下應用程序可以工作,但如果我更改了文件名,則不適用。任何人都知道爲什麼這不起作用?春季啓動YAML配置w /獨特的文件名

import org.springframework.beans.factory.annotation.Value; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.boot.context.properties.ConfigurationProperties; 
import org.springframework.boot.context.properties.EnableConfigurationProperties; 

import javax.annotation.PostConstruct; 

@EnableConfigurationProperties 
@SpringBootApplication 
@ConfigurationProperties(locations = {"wtf.yml"}) //classpath:wtf.yml 
public class SomeApp { 

    public static void main(final String[] args) { 
    SpringApplication.run(SomeApp.class, args); 
    } 

    @PostConstruct 
    public void init() { 
    System.out.println(readTimeout); 
    } 

    @Value("${readTimeout}") 
    public int readTimeout; 
} 

回答

0

Spring Boot guide描述您可以使用spring.config.namespring.config.location性能。

+1

能夠在不提供命令行屬性或作爲另一個yaml文件中的參數的情況下設置屬性文件位置會很好。 – newToScala