springboot加载外部配置文件
时间:2020-04-27
本文章向大家介绍springboot加载外部配置文件,主要包括springboot加载外部配置文件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
网上搜集和整理如下(自己已验证过)
1.war包运行在独立tomcat下时,如何加载war包外部配置application.properties,以达到每次更新war包而不用更新配置文件的目的。
SpringBoot配置文件可以放置在多种路径下,不同路径下的配置优先级有所不同。
可放置目录(优先级从高到低)
- 1.file:./config/ (当前项目路径config目录下);
- 2.file:./ (当前项目路径下);
- 3.classpath:/config/ (类路径config目录下);
- 4.classpath:/ (类路径config下).
- 优先级由高到底,高优先级的配置会覆盖低优先级的配置;
- SpringBoot会从这四个位置全部加载配置文件并互补配置;
想要满足不更新配置文件的做法一般会采用1 和 2,但是这些对于运行在独立tomcat下的war包并不比作用。
我这里采用的是SpringBoot的Profile配置。
在application.properties中增加如下配置:
spring.profiles.active=test1
- 再在tomcat根目录下新建一个名为config的文件夹,新建一个名为application-test1.properties的配置文件。
- 完成该步骤后,Profile配置已经完成了。
- 然后还需要将刚刚新建的config文件夹添加到tomcat的classpath中。
- 打开tomcat中catalina.properties文件,在common.loader处添加**${catalina.home}/config**,此处的config即之前新建的文件夹名称。
- 如此,大功告成。程序启动之后,每次配置文件都会从config/application-test1.properties加载。
2.这里详细介绍下spring.profiles.active
默认配置 src/main/resources/application.properties
app.window.width=500 app.window.height=400
指定具体环境的配置
src/main/resources/application-dev.properties
app.window.height=300
src/main/resources/application-prod.properties
app.window.width=600 app.window.height=700
简单的应用
package com.logicbig.example; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @Component public class ClientBean { @Value("${app.window.width}") private int width; @Value("${app.window.height}") private int height; @PostConstruct private void postConstruct() { System.out.printf("width= %s, height= %s%n", width, height); } } package com.logicbig.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ExampleMain { public static void main(String[] args) { SpringApplication.run(ExampleMain.class, args); } }
运行
$ mvn spring-boot:run width= 500, height= 400 $ mvn -Dspring.profiles.active=dev spring-boot:run width= 500, height= 300 $ mvn -Dspring.profiles.active=prod spring-boot:run width= 600, height= 700
原文地址:https://www.cnblogs.com/guanbin-529/p/12789557.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- asp函数split()对应php函数explode()
- php获取目录下所有文件及目录(多种方法)(推荐)
- Python基于Twilio及腾讯云实现国际国内短信接口
- PHP __call()方法实现委托示例
- PHP中rename()函数的妙用讲解
- php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
- php实现小程序支付完整版
- Yii2框架视图(View)操作及Layout的使用方法分析
- php实现单笔转账到支付宝功能
- PHP使用Redis实现Session共享的实现示例
- windows10在visual studio2019下配置使用openCV4.3.0
- PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
- Python爬虫爬取新闻资讯案例详解
- Python代码需要缩进吗
- 解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题