SpringBoot自定义spring.config.location

时间:2017-11-22 15:24:10

标签: spring-boot yaml

我有一个简单的SpringBoot应用程序,具有以下结构:

enter image description here

我使用标准的application.yml文件,我存储了所有必要的道具,并使用@ConfigurationProperties注释在必要时注入它们。

现在对于一个bean,我有很多道具,我不想用我所有的道具来压倒我常用的application.yml文件。所以我想要一个单独的(我在classpath中放置在服务目录下)。

根据Spring文档,我可以使用类似的东西:

java -jar myproject.jar --spring.config.location=classpath:/service/application.yml

但那不起作用,我得到了NullPointer,这意味着没有注入财产。 我究竟做错了什么?如何与application.yml一起使用另一个* .yml文件?

P.S。我知道我可以把它放在classpath的config文件夹下,但是如果我需要两个自定义文件呢?

1 个答案:

答案 0 :(得分:2)

如果你在不同的地方有2个配置,spring.config.location将接受这些位置的逗号分隔列表

--spring.config.location=classpath:/resources/,classpath:/service/

您也可以调用另一个文件,如“config.yml”,然后使用其他名称

--spring.config.name=application,config