SpringBoot读取外部配置文件
CSDN 那些博主说的命令 -Dspring.config.locaiton=application.properties
我尝试了多次,可是结果读取的还是,项目里的配置文件。最终受启发,找了SpringBoot 官方文档,解决了问题。
总结
Spring Boot中文官方文档:https://www.breakyizhan.com/springboot/3283.html
翻译后的文档中:24. Spring Boot的特性:外部化配置中有讲解到:
SpringApplication将从以下位置加载application.properties文件,并把它们添加到Spring Environment中:
- 当前目录下的/config子目录。
- 当前目录。
- classpath下的/config包。
- classpath根路径(root)
SpringBoot 版本
可以说,这个版本的确有点低。但是它能解决, 两个service 相互引用不报错的问题。神奇,如果要是换到2.1.6.RELEASE, 那绝对启动不起来。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
配置文件层级目录
可以看到, 这里没有application.properties,这个配置文件。这是正确的。
服务器上目录结构
application.properties 配置文件和jar 包放在一个层级。
启动命令
-Dspring.config.locaiton=application.properties 参数放在 java 后面证明是可以用的,但是放在 -jar 后面还没有验证过。
nohup java -Dspring.config.locaiton=application.properties -jar tms.jar >tms.log &