我有一个简单的SpringBoot应用程序,具有以下结构:
我使用标准的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文件夹下,但是如果我需要两个自定义文件呢?
答案 0 :(得分:2)
如果你在不同的地方有2个配置,spring.config.location将接受这些位置的逗号分隔列表
--spring.config.location=classpath:/resources/,classpath:/service/
您也可以调用另一个文件,如“config.yml”,然后使用其他名称
--spring.config.name=application,config