Spring Boot中的配置
一.首先使用idea中的Spring Initializr快速创建一个SpringBoot应用,idea会联网自动创建,创建好的结构如下(一些没必要的文件都删了):

其中说一下几个文件夹和文件
static:这个文件夹主要用于放置一些静态资源,例如jss,css,图片之类的资源
templates:这个文件夹主要放置模板引擎,如freemark和thyleaf
application.properties:是SpringBoot的全局配置文件,名称是固定的。
SpringBoot的全局配置文件可以有两种方式:application.properties或者application.yml
二.@value与@ConfigrationProperties的区别与联系
| @value | @Configration | |
| 功能上 | 一个一个注入 | 批量注入 |
| 松散绑定 | 不支持 | 支持 |
| spEL | 支持 | 不支持 |
| JSR303数据校验 | 不支持 | 支持 |
@value与@ConfigrationProperties的使用场景
@value:如果在业务逻辑中要从配置文件中获取某个属性的值,推荐使用这个注解
三.@PropertySource注解和@ImportResource注解
@PropertySource:用于指定自定义的配置文件,之所以自定义配置文件,是因为如果把所有的配置都写在全局配置文件中,看着会比较复杂
@ImportResource:导入spring的配置文件,让配置文件里面的内容生效
官方推荐使用注解的方式进行spring的配置,只需在类上加Configuration注解,表示这是一个配置类,在类中写方法,在方法上加@bean注解,方法名默认为bean的id
,方法的返回值会添加到容器中
四.profile多环境支持
(1)多profile文件
我们在主配置文件编写的时候,名字可以为application-{profile}.properties/yml,默认使用application.properties配置文件
(2)yml支持多文档块方式
使用"---"进行文档的间隔
#配置profile的多环境支持
server:
port: 8080
#激活指定运行环境
spring:
profiles:
active: prod
---
server:
port: 8081
spring:
profiles: dev ---
server:
port: 8082
spring:
profiles: prod
(3)激活指定profile
1.在默认配置文件中指定spring.profiles.active={profile}
2.命令行
java -jar 所要运行的jar包 --spring.profiles.active={profile}
3.虚拟机参数
-Dspring.profiles.active={profile}
五.配置文件加载位置
SpringBoot在启动时会加载以下位置的application.properties或者application.yml作为SpringBoot的默认配置文件
-file:./config/
-file:./
-classpath:./config
-classpath:./
优先级由高到低,高优先级的配置会覆盖低优先级的配置,SpringBoot会从这四个位置全部加载配置文件,形成互补,即互补配置
还可以通过spring.config.location来改变默认的默认文件位置
项目打包好以后,可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定配置文件会和其他四个位置加载的配置文件
一起加载,形成互补,即互补配置。
Spring Boot中的配置的更多相关文章
- Spring Boot 中如何配置 Profile
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- Spring Boot(二):Spring Boot中的配置参数
Spring Boot 配置参数 Spring Boot 帮助我们完成了许许多多的自动化配置 如果我们需要根据自己的需求修改配置 也是可以的 可以使用.properties 和 .yml 格式配置 这 ...
- Spring Boot中如何配置线程池拒绝策略,妥善处理好溢出的任务
通过之前三篇关于Spring Boot异步任务实现的博文,我们分别学会了用@Async创建异步任务.为异步任务配置线程池.使用多个线程池隔离不同的异步任务.今天这篇,我们继续对上面的知识进行完善和优化 ...
- Spring Boot 中的静态资源到底要放在哪里?
当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:"松哥,我的HTML页面好像没有样式?& ...
- spring boot日志管理配置
spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback.每种L ...
- Spring Boot2 系列教程(十一)Spring Boot 中的静态资源配置
当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥 Spring Boot 中的静态资源加载问题:"松哥,我的 HTML 页面好像没有样 ...
- 自定义spring boot的自动配置
文章目录 添加Maven依赖 创建自定义 Auto-Configuration 添加Class Conditions 添加 bean Conditions Property Conditions Re ...
- Spring Boot中的静态资源文件
Spring Boot中的静态资源文件 1.SSM中的配置 2.Spring Boot 中的配置 2.1 整体规划 2.2 源码解读 2.3 自定义配置 2.3.1 application.prope ...
- Spring Boot中使用时序数据库InfluxDB
除了最常用的关系数据库和缓存之外,之前我们已经介绍了在Spring Boot中如何配置和使用MongoDB.LDAP这些存储的案例.接下来,我们继续介绍另一种特殊的数据库:时序数据库InfluxDB在 ...
随机推荐
- eclipse时一直卡在进程中
(1)今天遇到进入eclipse时一直卡在 进程中,无论是重启电脑,还是重启软件 删除 D:\workspace\.metadata\.lock 文件才有用,特此记录下. (2)还有一种情况就是打开e ...
- BAT大佬推荐使用的HTML5的十个功能
HTML5不是新事物.自从最初发布(2008年1月)以来,我们一直在使用它的一些功能.后来,我再次仔细查看了HTML5功能列表.看到我发现了什么?到目前为止,我还没有真正使用过它! 在本文中,我列出了 ...
- Hbase实用技巧:全量+增量数据的迁移方法
摘要:本文介绍了一种Hbase迁移的方法,可以在一些特定场景下运用. 背景 在Hbase使用过程中,使用的Hbase集群经常会因为某些原因需要数据迁移.大多数情况下,可以跟用户协商用离线的方式进行迁移 ...
- puk1251 最小生成树
Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid ...
- 【转】Setting up SDL 2 on MinGW
FROM: http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/mingw/index.php Setting up SDL 2 on MinG ...
- Java技术平台介绍
Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关, 如JavaBeans(咖啡豆).NetBeans(网络豆)以及ObjectB ...
- Github优质库分享-01算法小抄 基于LeetCode
Github 优质库分享-01 算法小抄 该库总共 60 多篇原创文章,都是基于 LeetCode 的题目,涵盖了所有题型和技巧,而且一定要做到举一反三,通俗易懂,绝不是简单的代码堆砌. 目前 sta ...
- 调度《Taint(污点) 和 Toleration(容忍)》
节点亲和性(详见这里),是 pod 的一种属性(偏好或硬性要求),它使 pod 被吸引到一类特定的节点.Taint 则相反,它使 节点 能够 排斥 一类特定的 pod. Taint 和 tolerat ...
- ERP的财务凭证的操作与设计--开源软件诞生23
赤龙ERP财务凭证讲解--第23篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redra ...
- Java反射复习笔记
目录 反射 获取反射的三种方式: Class对象的功能 获取 成员变量/成员变量们 获取 成员方法/成员方法们 获取构造方法们 获取全类名 Field:成员变量 Method:成员方法 Constru ...