小编这次要给大家分享的是SpringBoot如何获取配置文件,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
在潢川等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站制作 网站设计制作按需网站建设,公司网站建设,企业网站建设,品牌网站制作,网络营销推广,成都外贸网站建设,潢川网站建设费用合理。前言
在讲SpringBoot 获取配置文件之前我们需要对SpringBoot 的项目有一个整体的了解,如何创建SpringBoot 项目,项目结构等等知识点,我在这里就不一一讲述了,没有学过的小伙伴可以自己在网上找一些资料进行学习,很简单的。
下面让我们开始今天的内容讲解吧。
一、SpringBoot 全局配置文件的加载顺序
在SpringBoot 当中,全局配置文件有两种不同的格式,一个是我们常见的properties, 一种是yml.
这两种格式的文件其实也没什么太大的区别,使用的时候按照个人的习惯来就行,下面我们用的是yml文件。
首先,当我们创建SpringBoot 的项目时,默认在resources目录下创建一个application.properties文件,这时我们可以在
这个文件当中对项目进行配置即可。但是在SpringBoot 中application.properties可以存放在以下几个位置:
file:./config/ 项目根目录下的config文件夹下
file:./ 项目根目录下
classpath:/config/ 类路径下的config文件夹下
classpath:/ 类路径下
文件的加载顺序:即根目录下的config目录下,然后是 根目录下,然后是classpath路径下的config目录下,最后是classpath路径下。
优先级由高到低,高优先级的配置会覆盖低优先级的配置。
假如:根目录下的config目录下定义端口为8084, 根目录下定义端口为8083 ,classpath路径下的config目录定义端口为8082,classpath路径下定义端口为8081,最后启动,启动的端口为8084 ,高优先级会覆盖低优先级。
注意:并不是高优先级的被加载了,低优先级的就不会再加载,实际上是SpringBoot会从这四个位置全部加载主配置文件,并且还能产生互相配置的效果。
除此外,我们还可以通过spring.config.location来改变默认的配置文件位置。
项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定默认加载的这些配置文件共同起作用形成互补配置。
在 G盘目录下,创建一个application.yml文件,定义端口为8085
打包项目,启动命令行:java -jar spring-boot-config-0.0.1-SNAPSHOT.jar --spring.config.location=G:/application.yml
回车运行。
外部配置加载顺序
1、命令行参数
eg:java -jar spring-boot-config-0.0.1-SNAPSHOT.jar --server.port=8087
---- 由jar包外向jar包内进行寻找:
2、 优先加载带profile
jar包外部的application-{profile}.properties
或application.yml(带spring.profile)配置文件
将打好的jar包放在一个目录下,然后再该文件夹下新建一个名为application.yml
的文件,其中指定
port为8082 ,访问路径为/boot ,然后命令行直接启动项目。java -jar spring-boot-config-0.0.1-SNAPSHOT.jar --application.yml
在讲配置文件之前,我先说一说yml文件配置信息书写格式
基本数据类型(8种基本数据类型)以k: v 形式书写即可
比如我在一个实体类(Person)中定义一个 属性(age),类型是 int ,在yml文件中的书写格式如下
person: age: 20
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。