springboot配置文件详解(告别xml)

author author     2023-02-16     244

关键词:

参考技术A

快速学会和掌握 SpringBoot 的 核心配置文件的使用。

SpringBoot 提供了丰富的 外部配置 ,常见的有:

其中核心配置文件我们并不陌生,主要以Key-Value的形式进行配置,其中属性Key主要分为两种:

在 application.properties 添加配置如下:

① 添加数据源信息

在 application.propertis 添加配置如下:

① 添加认证信息,其中 socks.indentity.* 是自定义的属性前缀。

② 添加随机值,其中spring.test.* 是自定义的属性前缀。

使用方法: @ConfigurationProperties(prefix = "spring.datasource")

使用说明:提供 Setter方法 和 标记组件 Component

如何验证是否成功读取配置?答:这里可以简单做个验证,注入 MyDataSource ,使用 Debug 模式可以看到如下信息:

使用方法: @Value("spring.datasource.*")

使用说明:提供 Setter方法 和 标记组件 Component

注意事项:@Value不支持注入静态变量,可间接通过Setter注入来实现。

关于两者的简单功能对比:

显然,前者支持松绑定的特性更强大,所以在实际开发中建议使用@ConfigurationProperties来读取自定义属性。

SpringBoot 默认会加载这些路径加载核心配置文件,按优先级从高到低进行排列:具体规则详见 ConfigFileApplicationListener

如果存在多个配置文件,则严格按照优先级进行覆盖,最高者胜出:

举个简单的例子,例如再上述位置都有一个application.properties ,并且每个文件都写入了server.port=xx (xx分别是9001,9002,9003,9004),在启动成功之后,最终应用的端口为:9004。图例:

如果想修改默认的加载路径 或者 调改默认的配置文件名,我们可以借助命令行参数进行指定,例如:

YAML是JSON的一个超集,是一种可轻松定义层次结构的数据格式。

答: 因为配置文件这东西,结构化越早接触越规范越好。这里推荐阅读阮一峰老师写的 YAML语言教程 ,写的很简单明了。

引入依赖: 在POM文件引入 snakeyaml 的依赖。

使用说明: 直接在类路径添加 application.yml 即可。

例如下面这两段配置是完全等价的:

① 在 application.yml 配置数据源:

② 在 application.properties 配置数据源:

在项目的实际开发中,我们往往需要根据不同的环境来加载不同的配置文件。例如生产环境,测试环境和开发环境等。此时,我们可以借助 Profiles 来指定加载哪些配置文件。例如:

温馨提示:如果spring.profiles.active指定了多个配置文件,则按顺序加载,其中最后的优先级最高,也就是最后的会覆盖前者。

使用方法:
使用Maven插件打包好项目,然后在当前路径,执行DOS命令: java -jar demo.jar --server.port=8081 ,在控制台可看到应用端口变成了8081。

实现原理:
默认情况下,SpringBoot会将这些命令行参数转化成一个 Property ,并将其添加到 Environment 上下文。

温馨提示:
由于命令行参数优先级非常之高,基本高于所有常见的外部配置,所以使用的时候要谨慎。详见 PropertySource 执行顺序 。

关闭方法:
如果想禁用命令行属性,可以设置如下操作:springApplication.setAddCommandLineProperties(false)

springboot配置详解(代码片段)

前言为了SpringBoot能够更好地生成配置元数据文件,我们可以在创建项目时添加SpringConfiguartionProcessor依赖,或者在创建好项目后的pom.xml文件中手动添加。添加该依赖后,我们在编写配置时就会有属性提示,大大降... 查看详情

springboot日志配置详解,还有谁不会?!(代码片段)

springboot日志配置:springboot默认日志是打印再console中的,不会保存在文件中。我们项目上线肯定要保存日志用于分析的。一、使用xml配置日志保存(并不需要pom配置slf4j依赖,starter里面已经配置了依赖了)1、... 查看详情

springboot(九篇)

(一)SpringBootCLI安装(二)SpringBoot开发第一个应用  (三)SpringBootpom.xml配置文件详解   (四)SpringBoot起步依赖Starters详解    (五)SpringBoot配置篇之自动配置实现原理   (六)SpringB... 查看详情

springboot:springboot项目配置详解

文章目录SpringBoot项目配置详解一、properties配置文件二、yml配置文件1、基本格式要求 查看详情

springboot学习配置文件详解(代码片段)

正如所说,SpringBoot使用“习惯优于配置”,即项目中存在大量配置,此外还内置了一个习惯性的配置,让你无需手动进行配置,这样,便让你的项目快速运行起来,而如何开启项目中的各个功能模块的默认配置,这就用到了Sprin... 查看详情

springboot系列配置文件详解

...定义数据配置1.通过prefix2.通过@value注解获取 引言:Springboot有一个全局配置文件,这个配置文件默认是properties文件,就是application.properties文件,其实还有一种文件 查看详情

springboot-配置文件详解(代码片段)

文章目录SpringBoot-配置文件1.文件类型1.1properties1.2yaml2.配置提示SpringBoot-配置文件1.文件类型1.1properties同以前的properties用法。1.2yaml简介YAML是“YAMLAin’tMarkupLanguage”(YAML不是一种标记语言)的递归缩写。在开发的这种语... 查看详情

springboot配置文件详解(properties和yml)(代码片段)

...自己的配置文件,hibernate有hbm,mybatis有properties,同样,Springboot也有全局配置文件。Springboot使用一个全局的配置文件,而且配置文件的名字是固定的。有两种application.propertiesapplication.yml springboot配置文件的作用是用来修改Spr... 查看详情

详解springboot配置文件之多环境配置

一.多环境配置的好处:1.不同环境配置可以配置不同的参数~2.便于部署,提高效率,减少出错~二.properties多环境配置1.配置激活选项spring.profiles.active=dev2.添加其他配置文件application.properties:#激活哪一个环境的配置文件spring.profiles... 查看详情

springboot启动配置详解(代码片段)

SpringBoot启动(二)配置详解Spring系列目录(https://www.cnblogs.com/binarylei/p/10198698.html)SpringBoot配置文件加载顺序SpringBoot配置文件加载分析-ConfigFileApplicationListener一、SpringFramework配置略...二、SpringBoot配置2.1随机数配置name.valu 查看详情

springboot配置文件详解(代码片段)

  SpringBoot提供了两种常用的配置文件,分别是properties文件和yml文件。一、yml配置方式  以空格的缩进程度来控制层级关系。空格的个数并不重要,只要左边空格对齐则视为同一个层级。注意不能用tab代替空格。且大小写敏... 查看详情

史上最全面的springboot配置文件详解(代码片段)

SpringBoot在工作中是用到的越来越广泛了,简单方便,有了它,效率提高不知道多少倍。SpringBoot配置文件对SpringBoot来说就是入门和基础,经常会用到,所以写下做个总结以便日后查看。1.配置文件当我们构建完SpringBoot项目后,会... 查看详情

springboot-resource资源文件的打包配置详解(指定资源文件位置)

参考技术A(1)默认SpringBoot项目结构,资源文件放置在src/main/resources中,测试的资源文件在src/test/resources中。src/main/resources与src/test/resources的区别:(2)将项目打包后,解压jar可以发现原先src/main/resources目录下的资源文件已经... 查看详情

springboot返回xml数据,一分钟搞定!

SpringBoot返回XML数据,前提必须已经搭建了SpringBoot项目,所以这一块代码就不贴了,可以点击查看之前分享的SpringBoot返回JSON数据,一分钟搞定!。你所需具备的基础什么是SpringBoot?SpringBoot核心配置文件详解SpringBoot开启的2种方式... 查看详情

struts.xml配置详解

1、<include>利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。比如一个网上购物程序,可以把用户配置、商品配置、订单配置分别放在3个配置文件user... 查看详情

springboot简明教程-yml配置文件详解

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展... 查看详情

logback-spring.xml配置文件标签(超详解)(代码片段)

文章目录1、SpringBoot日志框架2、logback-spring.xml配置详解2.1、一个父标签2.2、两种属性contextName和property2.2.1、contextName2.2.2、property2.3、三个节点appender、root、logger2.3.1append节点2.3.2、root2.3.3、logger2.4logger和root的关系2.5环境配置3、完... 查看详情

springboot配置加载顺序详解(代码片段)

   使用SpringBoot会涉及到各种各样的配置,如开发、测试、线上就至少3套配置信息了。SpringBoot可以轻松的帮助我们使用相同的代码就能使开发、测试、线上环境使用不同的配置。在SpringBoot里面,可以使用以下几种方... 查看详情