配置文件+多环境配置+自定义属性

zymbky zymbky     2023-04-12     628

关键词:

二、SpringBoot 配置文件

1、 配置文件的路径及优先级

<1>、配置文件的路径

SpringBoot 使用了一个全局的配置文件 application.properties,该配置文件可以放置在以下几个位置:

根目录下

项目根目录中 config 目录下

项目的 resources 目录下

项目 resources 目录中 config 目录下

 技术图片

 

 

<2>、配置文件的优先级

技术图片

 

 技术图片

经过测试,SpringBoot 项目中配置文件的读取顺序为:

1) config/application.properties(项目根目录中 config 目录下)

2) application.properties(项目根目录下)

3) resources/config/application.properties(项目 resources 目录中 config 目录下)

4) resources/application.properties(项目的 resources 目录下)

注意:

?1、如果同一个目录下,有 application.yml 也有 application.properties,默认先读取

application.properties

2、如果同一个配置属性,在多个配置文件都配置了,默认使用第 1 个读取到的,后面读取的不覆盖前 面读取到的

3、创建 SpringBoot 项目时,一般的配置文件放置在“项目的 resources 目录下”

 

1、配置文件的两种文件格式

SpringBoot 项目默认加载的配置文件除了 application.properties 文件,还支持 application.yml(也可以写成 application.yaml)文件

 技术图片

 

 

application.properties 配置文件的作用一样,只是文件内容写法不一样

(1)properties 文件

 技术图片

 

 

(2)yamlyml)文件

YAML Ain’t Markup Language,YAML 是一种简洁的非标记语言。YAML 以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读

 

YAML 有以下基本规则:

<1>大小写敏感

<2>使用缩进表示层级关系

<3>禁止使用 tab 缩进,只能使用空格键

<4>缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级

<5>使用#表示注释

<6>字符串可以不用引号标注

 技术图片

三、SpringBoot 多环境配置

1、多环境配置的引入

如果在项目中只有 application.properties(application.yml)一个配置文件的话,该文件中的属性值会经 常需要改动,就会使项目整体的体验变得非常差,而且出错率也极高。这时候,我们可以用 profile 在不同的环 境下配置不同的配置文件。这样一来,在 SpringBoot 项目中就出现了多环境的配置文件

2、多环境配置的设置

 技术图片

 

 

这是这个环境配置的代码

 技术图片

 

 

3、多环境配置的切换

 技术图片

 

 

四、自定义属性

1、配置文件中自定义属性

自定义的属性可以放到 application.properties(或 application.yml)全局配置文件中,也可以在自定义的其 他配置文件中定义。本课程以自定义的 stu.properties 为例

1、自定义的 stu.properties

 技术图片

 

 

2、如何读取自定义属性值到实体类

 两种方式:

<1>使用@Value 注解将属性值注入指定到beans

<2>使用@Configurationproperties注解将属性值绑定到特定结构化的beans

第一种 @Value

第一步:建Student1实体类

 技术图片

下面是

无参,有参,get/set方法,toString

 技术图片

 

 技术图片

第二步

创建controller

 技术图片

 

 

第三步:运行项目

 技术图片

 

 

第二种:@Configurationproperties

第一步:导入依赖

 技术图片

 

 

<dependency>

     <groupId>org.springframework.boot</groupId>

     <artifactId>spring-boot-configuration-processor</artifactId>

     <optional>true</optional>

</dependency>

第二步:创建Student2

 技术图片

 

 

第三步:还在原来的controllrt

 技术图片

 

 

第四步:运行项目

 技术图片

 

springboot的自定义配置

参考技术ASpringBoot免除了项目中大部分的手动配置,对一些特定情况,我们可以通过修改全局配置文件以适应具体生产环境,可以说,几乎所有的配置都可以写在application.properties文件中,SpringBoot会自动加载全局配置文件,从而... 查看详情

wampserver集成环境安装,自定义根目录以及多站点配置

首先,先自定义根目录,分为两个步骤:一、更改网站根目录的存放位置,需要更改Apache的httpd.conf文件的两处,打开httpd.conf文件 (在E:wampinapacheapache2.4.9conf目录下):ctrl+F搜索“documentroot”和“directory”修改1、DocumentRoot"E:... 查看详情

springboot自定义配置文件数量是变化的,属性相同,只是值不一样,怎样绑定到实体类?

我的springboot项目有一个需求:1.创建自定义配置文件并设置属性和值2.自定义配置文件数量会根据生成环境增减,但文件中的属性不变,只是值不一样网上许多加载配置文件并绑定实体类的案例,都是需要@PropertySource指定具体的... 查看详情

springboot基础多环境配置

对于多环境的配置,各种项目构建工具的思路基本上一致,都是通过配置多份不同环境的配置文件来区分。 1.首先我们先创建不同环境下的属性文件,截图如下:application.properties 是基础属性配置文件application-develop.propert... 查看详情

springboot2——指标监控actuator多环境切换profile和自定义starter(代码片段)

...ringBootActuator1.1SpringBootActuator的使用1.2Endpoints1.2.1端点暴露配置1.2.2重要端点解析二、多环境切换Profile2.1多配置文件2.2yaml的多文档块2.3配置文件的加载顺序三、自定义starter四、SpringBoot的启动 查看详情

Rails - 环境配置文件中的自定义配置?

】Rails-环境配置文件中的自定义配置?【英文标题】:Rails-Customconfiginenvironmentconfigfiles?【发布时间】:2011-03-1618:14:42【问题描述】:是否可以在config/environments/*.rb或config/environment.rb文件中定义自定义配置。是的,我如何从我的... 查看详情

容器指南之自定义lnmp容器镜像

...,当然,随着Go、Rust语言的普及,生产环境有更多的组合配置。但是Nginx的Web端和MySQL的数据库端还是主力配置。受Nginx、MySQL和PHP多版本和多配置文件的影响,在生产或测试环境要保持各组件版本和对应的配置文件(特别是安全... 查看详情

maven高级(黑马程序员p15~p29)

...变量属性5、版本管理5.1工程版本5.2工程版本约定6、资源配置6.1资源配置多文件维护6.2配置文件引用pom属性7、多环境开发配置7.1多环境兼容7.2多环境配置7.3加载指定环境8、跳过测试8.1跳过测试环境的应用场景8.2跳过测试方法①... 查看详情

多环境变量配置

多环境变量配置为什么要配置环境变量,配置环境变量有什么好处总结为什么要配置环境变量,配置环境变量有什么好处一个产品的开发过程中,一般来说都是会经历这么一个过程.本地发开–测试版本部署–测试–预上线... 查看详情

activitimodeler任务节点自定义属性扩展

...et.json生成编辑器UI,在界面上的扩展需要了解stencilset.json配置文件,它定义元素的属性,规则的配置文件,页面的展示就是根据这个配置文件生成的。配置文件说明:--属性的定义"propertyPack 查看详情

在群晖的docker中自定义配置redis

...个装载路径指向宿主的某个文件夹,即可,如下图所示:配置好卷后,就可以到环境中去配置,其实没啥配置,主要就是在命令中修改一下执行的语句即可,如下图所示:其实就是添加启动时需要加载的配置文件即可(默认是没... 查看详情

多环境下读取不同的配置文件

一、准备不同环境的配置文件 二、在pom文件中定义一个变量,名称随意,该变量用于动态更改配置properties,字面意思就是配置咯,就像是pom文件中的变量咯,这样理解吧。 三、设置profiles四、build设置第三步我们默认激... 查看详情

使用deepmerge库深度合并两个对象可枚举属性

...https://www.npmjs.com/package/deepmerge这个deepMerge库,在作自定义配置时,比较有用。我们可以先定义一个完整的默认配置对象,然后,再通过自定义配置对象合并整合,就可以即使保留一些默认配置,又实现了自定义的配置。二,settin... 查看详情

Spring Boot:自定义属性配置和测试

】SpringBoot:自定义属性配置和测试【英文标题】:SpringBoot:custompropertiesconfigurationandtests【发布时间】:2018-11-1400:49:27【问题描述】:我正在使用带有默认application.yml属性文件的SpringBoot2.0。我想将它拆分为单独的属性文件,因为... 查看详情

自定义配置文件提供程序:未找到设置属性“”-MVC3

】自定义配置文件提供程序:未找到设置属性“”-MVC3【英文标题】:CustomProfileProvider:Thesettingsproperty\'\'wasnotfound-MVC3【发布时间】:2012-05-3121:12:41【问题描述】:我在尝试编辑/更新用户个人资料时遇到了这个问题。本质上,当... 查看详情

使用配置文件 (.ebextensions) 在自定义 VPC 中为 TCP 直通配置 Elastic Beanstalk 环境的负载均衡器

】使用配置文件(.ebextensions)在自定义VPC中为TCP直通配置ElasticBeanstalk环境的负载均衡器【英文标题】:ConfiguringanElasticBeanstalkenvironment\'sLoadBalancerforTCPPassthroughinacustomVPCwithconfigfiles(.ebextensions)【发布时间】:2017-08-1619:36:54【问题描... 查看详情

springboot2:运维实用篇(黑马程序员p54~p66)

...维实用篇1、工程打包与运行2、打包插件3、查询端口4、配置高级4.1临时属性设置4.2配置文件4级分类4.3自定义配置文件5、多环境开发(yaml版)5.1单配置文件格式5.2多配置文件格式5.3多配置文件书写格式6、多环境开发࿰... 查看详情

springboot2:运维实用篇(黑马程序员p54~p66)

...维实用篇1、工程打包与运行2、打包插件3、查询端口4、配置高级4.1临时属性设置4.2配置文件4级分类4.3自定义配置文件5、多环境开发(yaml版)5.1单配置文件格式5.2多配置文件格式5.3多配置文件书写格式6、多环境开发࿰... 查看详情