2016-11-28 1 views
1

Ich versuche, in einer einfachen Yml-Datei für eine Spring Boot-Anwendung in Ressourcen/wtf.yml zu lesen. Die folgende Anwendung funktioniert, wenn der Standardname application.yml verwendet wird, aber nicht, wenn ich den Dateinamen ändere. Wer weiß, warum das nicht funktioniert?Spring Boot YAML Config mit eindeutigen Dateinamen

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; 
} 

Antwort

0

können Sie spring.config.name oder spring.config.location Eigenschaften verwenden, wie in Spring Boot guide beschrieben.

+1

Es wäre nett, in der Lage zu sein, einen Eigenschaftendateispeicherort festzulegen, ohne eine Befehlszeileneigenschaft oder als ein Argument in einer anderen yaml-Datei bereitzustellen. – newToScala

Verwandte Themen