博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot读取properties文件(转)
阅读量:2351 次
发布时间:2019-05-10

本文共 2739 字,大约阅读时间需要 9 分钟。

转:

https://blog.csdn.net/davis2015csdn/article/details/75220046

https://yq.aliyun.com/articles/84323

http://www.cnblogs.com/java-zhao/p/5469183.html

 

测试不同配置的加载

执行java -jar xxx.jar,可以观察到服务端口被设置为8001,也就是默认的开发环境(dev)执行java -jar xxx.jar --spring.profiles.active=test,可以观察到服务端口被设置为8002,也就是测试环境的配置(test)执行java -jar xxx.jar --spring.profiles.active=prod,可以观察到服务端口被设置为8003,也就是生产环境的配置(prod)

按照上面的实验,可以如下总结多环境的配置思路: 

application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置 
application-{profile}.properties中配置各个环境不同的内容 
通过命令行方式去激活不同环境的配置

 

 

介绍

     很多项目中都会有配置文件,比如说配置 数据库的连接项目常量定义等等参数配置,那么这些参数在项目启动的时候就会被读到指定的容器中,可供项目初始化将必要的对象都初始化完成,如果参数配置错误或参数没有定义,项目在启动的时候就会相应的报错,提示某某参数没有定义或者不对,今天我给大家介绍一下springboot如何读取这些初始化参数,让项目启动时候能够自动的加载,并且应用到我们的项目中。

一、spring boot 默认定义

默认参数文件名称为  application.properties 或者 application.yaml   ,这两种格式选其中任意一种可以作为项目启动的配置文件,两种格式有所不同

     properties 格式  my.web.name=eshengtai  类似键值对的方式

     yaml 格式   

              my:

                    web:

                          name:eshengtai  

当然也可以自定义配置文件,作为项目的其他配置参数文件,比如  redis.properties,dataSource.properties可以单独定义配置文件,让springboot在启动时帮我们加载,在程序中可以方便的使用

 

二、读取配置文件

    1、读取application.properties配置文件中,自定义的参数

project.name=eshengtai

project.url=www.eshengtai.net

     读取参数自定义内容

 

/** * 读取application properties文件内容 * @author wolf.yansl * */@Componentpublic class ApplicationProperties {	@Value("${project.name}")    private String name;    @Value("${project.url}")    private String url;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getUrl() {		return url;	}	public void setUrl(String url) {		this.url = url;	}    }

 

 

2、读取自定义properties文件,读取自定义参数,eshengtai.properties

spring.boot=boot

spring.url=spring.io

      读取参数定义内容

 

/** * 读取自定义配置文件,eshengtai.properties * @author wolf.yansl * */@Component@PropertySource("classpath:eshengtai.properties")  public class EShengTaiProperties {	@Value("${spring.boot}")	private String springName;	@Value("${spring.url}")	private String url;	public String getSpringName() {		return springName;	}	public void setSpringName(String springName) {		this.springName = springName;	}	public String getUrl() {		return url;	}	public void setUrl(String url) {		this.url = url;	}}

3、动态切换配置文件properties文件,在不同的开发环境下,如何可以达到,只需要修改参数就可以动态读取不同的参数文件,从而方便快捷的使用properties的内容

 

    配置文件有4个

application-dev.properties  开发环境  ,server.port=1111服务器端口1111

application-prod.properties 正式环境 ,server.port=2222服务器端口2222

application-test.properties  测试环境 ,server.port=3333服务器端口3333

application.properties  主要启动配置文件,配置切换启动读哪个文件初始化环境 spring.profiles.active 动态切换读取配置文件,修改服务器的访问端口变化,测试

spring.profiles.active=dev    #springboot启动读取 application-dev.properties,并且访问端口为1111

spring.profiles.active=prod    #springboot启动读取 application-prod.properties,并且访问端口为2222

spring.profiles.active=test   #springboot启动读取 application-.propertiestt,并且访问端口为3333

你可能感兴趣的文章
Windows系统护眼色设置
查看>>
JUC多线程&lambda之美&ThreadLocal
查看>>
碎片清理
查看>>
程序员不能错过的技术网站
查看>>
冒泡排序(分析+代码调优)
查看>>
Vue
查看>>
乐优商城总结
查看>>
如何使用Git上传和更新项目至Github
查看>>
选择排序(分析+代码调优)
查看>>
Docker
查看>>
代码优化建议,44条代码优化细节
查看>>
快速排序(图解分析+代码调优)
查看>>
Java基础面试总结
查看>>
HashMap遍历几种方式比较(传统的Map迭代方式对比JDK8的迭代方式)
查看>>
Java面试& HashMap实现原理分析
查看>>
PS修改动图字幕
查看>>
八大基础排序总结
查看>>
Linux下安装使用FastDFS
查看>>
后台管理系统之品牌管理
查看>>
后台管理系统之商品规格管理
查看>>