3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

Wesley13
• 阅读 387

1.配置文件占位符

RaandomValuePropertySourcr:配置文件可以使用随机数

  **    ${random.value}      ${random.int}  ${random.long}**

${random.int(10)}    ${random.int[1024,65535]}

属性配置占位符

-可以在配置文件中引用前面配置过的属性(优先使用前面配置过的这里都能使用)

- ${app.name:默认值} 来制定找不到属性时的默认值

可以用随机数

可以用占位符获取之前配置的值,没有可以指定默认值

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

 application.properties

#person
person.name=无敌多么寂寞
person.age=${random.int}
person.bir=2018/12/11
person.boss=true
person.map.q1=1
person.map.q2=2
person.lists=a,b,c
person.dog.name=${person.name}*cat
person.dog.age=22

@Autowired
Person person;
@Test
public void contextLoads() {
    System.out.println(person);
}

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

此时没有person.mr可以进行 默认设置

#person
person.name=无敌多么寂寞
person.age=${random.int}
person.bir=2018/12/11
person.boss=true
person.map.q1=1
person.map.q2=2
person.lists=a,b,c
person.dog.name=${person.mr:mr}*cat
person.dog.age=22

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

2.Profile

是spring对不同环境提供的不同配置功能的支持,可以通过激活,

指定参数等方式快速切换环境

2.1多profile形式

---配置文件文件命可以是 application-{profile}.properties/yml

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

默认使用application.properties

2.2多profile文档切换模式

server:
  port: 8088
spring:
  profiles:
    active: dev
---
server:
  port: 8090
spring:
  profiles:dev  //指定属于那个文档库

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

2.3激活方式

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

2.3.1 配置文件中使用spring.profiles.active=dev

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

2.3.2yml文档块

server:
  port: 8088
spring:
  profiles:
    active: dev
---
server:
  port: 8090
spring:
  profiles:dev  //指定属于那个文档库

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

 2.3.3指定激活的命令行

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3.配置文件的加载位置

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件

–file: ./config/ 项目目录下的config

–file: ./ 项目目录下

–classpath:/config/ resources目录下的config

–classpath:/ resources目录下

优先级由高到底,高优先级的配置会覆盖低优先级的配置;

SpringBoot会从这四个位置全部加载主配置文件;互补配置

我们还可以通过spring.config.location来改变默认的配置文件位置

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

通过 spring.config.location来改变默认的配置文件位置:

引入外部的xxxx.properties文件

 3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
2年前
spring源码分析,聊聊PropertyPlaceholderConfigurer
简介最近工作中需要使用zookeeper配置中心管理各系统的配置,也就是需要在项目启动时,加载zookeeper中节点的子节点的数据(例如数据库的地址,/config/db.properties/db.addr),并替代springxml里的占位符。既然需要替代占位符,那么自然会想到PropertyPlaceholderConfigurer这个类
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Easter79 Easter79
2年前
SringBoot启动报日志配置错误
最近在启动项目的时候,报错,报错的原因是springBoot日志配置文件不对。由于自己是刚接触springboot,是同事帮忙解决的,自己非常感谢!先总结如下:1.首先,找到logbackspring.xml配置文件1<springPropertyscope"context"name"springAppNa
Stella981 Stella981
2年前
SpringBoot2.x基础篇:配置文件中占位符的使用
!(https://uploadimages.jianshu.io/upload_images/4461954ed8cb2c7536b87f3.png)知识改变命运,撸码使我快乐,2020继续游走在开源界<br/点赞再看,养成习惯<br/给我来个Star吧,点击了解下基于SpringBoot的组件化接口服务落地解决方案(https
Easter79 Easter79
2年前
SpringBoot2.x基础篇:配置文件中占位符的使用
!(https://uploadimages.jianshu.io/upload_images/4461954ed8cb2c7536b87f3.png)知识改变命运,撸码使我快乐,2020继续游走在开源界<br/点赞再看,养成习惯<br/给我来个Star吧,点击了解下基于SpringBoot的组件化接口服务落地解决方案(https
Stella981 Stella981
2年前
Spring Boot 配置随机数技巧
SpringBoot支持在系统加载的时候配置随机数。添加config/random.properties文件,添加以下内容:随机32位MD5字符串user.random.secret${random.value}随机int数字user.random.intNumber${random.int}
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这