我已经创建了application.properties
文件:
spring.config.additional-location=C:\Users\user\
spring.datasource.url=jdbc:postgresql://<db>:<port>/<db>
我需要向Spring添加一个位于C:\Users\user\application.properties
上的附加文件:
spring.datasource.username=user
spring.datasource.password=password
正如您所看到的,我已尝试将spring.config.additional-location
属性用于我的application.properties
文件。
但是,bootstrap告诉我没有提供身份验证。
答案 0 :(得分:0)
文档说使用文件:C:/ Users / user / &#34;文件:&#34;或&#34; classpath:&#34;部分很重要。
还有很多其他方法可以做到这一点。
- 个人资料(以及每个个人资料application-<profile>.properties
)
- @Configuration
+ @PropertySource
- ......
答案 1 :(得分:0)
您可以通过指定spring.config.name环境属性来使用其他文件名。您还可以使用spring.config.location环境属性(以逗号分隔的目录位置或文件路径列表)来引用显式位置。以下示例显示如何指定其他文件名:
$ java -jar myproject.jar --spring.config.name=myproject
参考网址:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
答案 2 :(得分:0)
您可以使用@PropertySources
指定替代属性,如下所示:
@PropertySources({
@PropertySource({"classpath:application.properties"}),
@PropertySource(value = {"file:${conf-dir}}/application-override.properties" },ignoreResourceNotFound = true)
})
public class AppConfig {
...
如果文件存在,底部PropertySource
中的属性将覆盖第一个属性。