现在的项目越来越多的都是打包成jar运行尤其是springboot项目,这时候配置文件如果一直放在项目中,每次进行简单的修改时总会有些不方便,这里我们看下打包成jar之后,从外部配置文件中读取配置信息。
有四种方式可以把配置文件放到外部的。
第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;
第二种是直接把配置文件放到jar包的同级目录;
第三种在classpath下建一个config文件夹,然后把配置文件放进去;
第四种是在classpath下直接放配置文件。
这四种方式的优先级是从一到四依次降低的。
注: 一二两种方案其实不是jar包的同级目录,而是(执行启动指令的)同级目录。为了便于理解我把上面的当前目录说成jar包的同级目录,这种说法并不对。如果是刚开始接触或者调试这块,还是在jar包同级目录方便。
我们做一个简单的实验,获取一个配置文件的变量值,并用接口访问:
启动并访问:
可以看到,访问成功!
接下来把项目原封不动的打成jar包,放到一个目录中:
然后在同目录新建一个配置文件:
保存退出,然后启动jar包:
命令是常用的启动jar包命令,后面加了一个参数:
nohup java -jar 58-spring-boot-out-config-0.0.1-SNAPSHOT.jar --spring.config.location=test.properties &
启动成功后,访问接口:
可以看到外部配置类的引用生效了!
其它方式可以自行尝试!
代码:https://gitee.com/blueses/spring-boot-demo
网友评论