2016-11-28 67 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