关键词:
参考技术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里面,可以使用以下几种方... 查看详情