2016-06-22 2 views
1

Я использую Spring для моего проекта и пытаюсь загрузить файлы yaml, чтобы я мог использовать данные в файлах в моем проекте. Например, у меня есть контент в моем приложении application.yml, как показано ниже.Spring Boot - Загрузка нескольких файлов YAML

currency: 
    code: 
     840: 2 
     484: 2 
     999: 0 

И в моем коде для чтения содержимого из application.yml У меня есть класс вроде этого.

import java.util.Map; 
import org.springframework.boot.context.properties.ConfigurationProperties; 
import org.springframework.context.annotation.Configuration; 

@Configuration 
@ConfigurationProperties(prefix = "currency") 
public class Currency { 

    private Map<String, String> code; 

    public Map<String, String> getCode() { 
     return code; 
    } 
    public void setCode(Map<String, String> code) { 
     this.code = code; 
    } 
} 

И если я печатаю его в тестовом классе

public class Test{ 

@Autowired 
Currency currency; 

Map<String, String> test = currency.getCode(); 
     for (Map.Entry<String, String> entry : test.entrySet()) { 
      System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue()); 
     } 
} 

я получаю, как показано ниже, который идеально подходит.

Key : 840 Value : 2 
Key : 484 Value : 2 
Key : 999 Value : 0 

Это работает, если я держу application.yml в моем банке себя или я могу читать его, поместив его в Aswell мерзавец репо.

Я попытался сохранить содержимое в currency.yml и в своем приложении application.yml Я попытался использовать spring.config.location, чтобы я мог напрямую прочитать содержимое из currency.yml, но это не сработало.

Я бы хотел загрузить файлы, такие как currency.yml и codes.yml и т. Д. ... которые являются настраиваемыми yml-файлами, чтобы я мог читать содержимое нескольких файлов и использовать их в своем приложении. Есть ли какие-либо аннотации или какой-то подход, который я могу использовать для загрузки файлов custom.yml?

+1

Вы смотрели в http://stackoverflow.com/questions/28303758/how-to-use-yamlpropertiesfactorybean-to-load-yaml-files-using-spring-framework-4? Здесь yaml-файл загружается через простой PropertyPlaceholderConfigurer и его конкретную конфигурацию. – tkachuko

+0

@tkachuko Нет. Попробуем это. Благодарю. – Arun

+0

@ Арун вы попробовали? –

ответ

2

Вы можете использовать spring.config.location, чтобы указать пути к дополнительным файлам конфигурации в виде списка, разделенного запятыми.

java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties 
+0

Спасибо. Будет обновляться, как только я попробую это. – Arun

+0

@ Арун вы попробовали? –

Смежные вопросы