springBoot 配置文件的使用方法

时间:2019-10-31
本文章向大家介绍springBoot 配置文件的使用方法,主要包括springBoot 配置文件的使用方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

  最近在做一个数据转发的中间件程序,每开通一个地区的业务,配置的转发接口地址和各项参数都不一样。每次测试环境改一遍,打包发布改一遍仔细核对参数生怕线上出错,很是烦躁!!于是研究了一下如何自适应配置参数,在这记录一下。

 application.yml 配置文件

配置了生产环境和开发环境的两组配置参数,${DEV_PROFILE_TYPE:dev} 默认使用开发模式

# 公共部分配置
server:
  port: 8999
  servlet:
    context-path: /

spring:
  application:
    name: rsa
  profiles:
    active: ${DEV_PROFILE_TYPE:dev}

---
# 生产环境配置
spring:
  profiles: prod

msg: 生产模式

---
# 开发环境配置
spring:
  profiles: dev

msg: 开发模式

测试

@Controller
@RequestMapping("/rsa")
public class RsaTestController {

    @Value("${msg}")
    private String msg;

    @RequestMapping("/sign")
    public void sign() {
        System.out.println("--->" + msg);
    }
}

Linux 配置环境变量

配置环境变量 DEV_PROFILE_TYPE=prod

vim ~/.bash_profile
export DEV_PROFILE_TYPE=prod
echo $DEV_PROFILE_TYPE

在开发环境下运行由于没有配置环境变量默认使用dev的配置参数,发布时由于Linux下配置了环境变量所以使用prod的配置参数。

sh脚本

start.sh

#!/bin/bash  
echo "Start..."  

rm -rf /java/logs/rsa.log

nohup java -jar /java/jar/rsa.jar > /java/logs/rsa.log 2>&1 &

echo $! > tpid

echo "End" 

check.sh

#!/bin/bash  
echo "Start..."  

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

echo "End"  

stop.sh

#!/bin/bash  
echo "Start..."  

tpid=`cat tpid | awk '{print $1}'`

tpid=`ps -aef | grep $tpid | awk '{print $2}' |grep $tpid`
if [ ${tpid} ]; then
   kill -9 $tpid
fi

echo "End"  

kill.sh

#!/bin/bash  
echo "Start..."  

kill -9 `ps -ef|grep rsa |awk '{print $2}'`

echo "End"  

这样一来直接打包执行sh脚本就OK了,省事多了!

或者在服务器上放置一份生产配置文件,使用 --spring.config.location= 来调用。由于springboot的配置优先级指定的配置文件会被优先执行。

java -jar /java/rsa.jar --spring.config.location=/java/config/application.yml

原文地址:https://www.cnblogs.com/pengjf/p/11772326.html