spring boot通过jar包启动时,配置文件的加载顺序
2017-08-01 18:53
1041 查看
一.配置文件的生效顺序,会对值进行覆盖
1. @TestPropertySource 注解2. 命令行参数
3. Java系统属性(System.getProperties())
4. 操作系统环境变量
5. 只有在random.*里包含的属性会产生一个RandomValuePropertySource
6. 在打包的jar外的应用程序配置文件(通过
java -jar demo.jar --spring.config.location=/path/test_evn.properties)
7. 在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
8. 在@Configuration类上的@PropertySource注解
9. 默认属性(使用SpringApplication.setDefaultProperties指定)
所以,正对6和7的情况,我们一般在应用程序外部放置配置yml文件,防止每次发布时被篡改哦!
nohup java -jar service-1.0.0.jar > service-1.0.0.log 2>&1 &
详情可以参考:http://www.cnblogs.com/softidea/p/5759180.html
二.配置随机值
roncoo.secret=${random.value}roncoo.number=${random.int}
roncoo.bignumber=${random.long}
roncoo.number.less.than.ten=${random.int(10)}
roncoo.number.in.range=${random.int[1024,65536]}
读取使用注解:@Value(value = "${roncoo.secret}")
注:出现黄点提示,是要提示配置元数据,可以不配置
三.属性占位符
当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。roncoo.name=www.roncoo.com
roncoo.desc=${roncoo.name} is a domain name
四.Application属性文件,按优先级排序,位置高的将覆盖位置低的
1. 当前目录下的一个/config子目录2. 当前目录
3. 一个classpath下的/config包
4. classpath根路径(root)
这个列表是按优先级排序的(列表中位置高的将覆盖位置低的)
五. 配置应用端口和其他配置的介绍
#端口配置:server.port=8090
#时间格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#时区设置
spring.jackson.time-zone=Asia/Chongqing
六. 使用YAML代替Properties
注意写法:冒号后要加个空格常用的启动项目的shell脚本:
start.sh
#!/bin/sh
rm -f tpid
nohup java -jar service-1.0.0.jar --spring.profiles.active=application.yml > service-1.0.0.log 2>&1 &
echo $! > tpid
stop.sh
#!/bin/sh
tpid=`cat tpid | awk '{print $1}'`
tpid=`ps -aef | grep $tpid | awk '{print $2}' |grep $tpid`
if [ ${tpid} ]; then
kill -9 $tpid
fi
check.sh
#!/bin/sh
tpid=`cat tpid | awk '{print $1}'`
tpid=`ps -aef | grep $tpid | awk '{print $2}' |grep $tpid`
if [ ${tpid} ]; then
echo App is running.
else
echo App is NOT running.
fi
kill.sh
#!/bin/sh
# kill -9 `ps -ef|grep 项目名称|awk '{print $2}'`
kill -9 `ps -ef|grep demo|awk '{print $2}'`
相关文章推荐
- spring 设置通过代码启动加载配置文件和设置启动顺序
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- springboot 修改启动时默认加载application.properties文件以及加载指定配置文件
- 通过web.xml文件自动启动spring容器加载对应的配置文件
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- spring boot启动时加载外部配置文件的方法
- SpringBoot的配置文件加载顺序和使用方式
- Spring Boot 配置文件加载顺序
- (二)Spring-boot 配置文件加载顺序
- SpringMVC异常总结:启动tomcat时出错,无法正取加载spring配置文件
- spring-boot 加载本地静态资源文件路径配置
- web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序(一)
- 【Spring】Spring的IOC(控制反转)/DI(依赖注入)原理(三):Spring启动加载配置文件源码分析
- springboot配置文件加载不到的问题
- spring-boot 加载本地静态资源文件路径配置
- 【Spring学习笔记-2】Myeclipse下第一个Spring程序-通过ClassPathXmlApplicationContext加载配置文件
- 编写类来加载Jar包中的Spring配置文件
- spring-boot 加载本地静态资源文件路径配置
- web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序 研究