1.配置文件占位符

RaandomValuePropertySourcr:配置文件可以使用随机数
      ${random.value}      ${random.int}  ${random.long}
      ${random.int(10)}    ${random.int[1024,65535]}
 
属性配置占位符
-可以在配置文件中引用前面配置过的属性(优先使用前面配置过的这里都能使用)
-${app.name:默认值} 来制定找不到属性时的默认值
可以用随机数
可以用占位符获取之前配置的值,没有可以指定默认值

application.properties

#person
person.name=无敌多么寂寞
person.age=${random.int}
person.bir=//
person.boss=true
person.map.q1=
person.map.q2=
person.lists=a,b,c
person.dog.name=${person.name}*cat
person.dog.age=
@Autowired
Person person;
@Test
public void contextLoads() {
System.out.println(person);
}

此时没有person.mr可以进行默认设置
#person
person.name=无敌多么寂寞
person.age=${random.int}
person.bir=//
person.boss=true
person.map.q1=
person.map.q2=
person.lists=a,b,c
person.dog.name=${person.mr:mr}*cat
person.dog.age=

2.Profile

是spring对不同环境提供的不同配置功能的支持,可以通过激活,
指定参数等方式快速切换环境
2.1多profile形式
---配置文件文件命可以是 application-{profile}.properties/yml

默认使用application.properties

2.2多profile文档切换模式

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

 2.3激活方式

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

2.3.2yml文档块
server:
port:
spring:
profiles:
active: dev
---
server:
port:
spring:
profiles:dev //指定属于那个文档库

2.3.3指定激活的命令行

 3.配置文件的加载位置

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件
–file: ./config/ 项目目录下的config
–file: ./ 项目目录下
–classpath:/config/ resources目录下的config
–classpath:/ resources目录下
优先级由高到底,高优先级的配置会覆盖低优先级的配置;
SpringBoot会从这四个位置全部加载主配置文件;互补配置
我们还可以通过spring.config.location来改变默认的配置文件位置

通过spring.config.location来改变默认的配置文件位置:
引入外部的xxxx.properties文件

3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)的更多相关文章

  1. Spring中手动增加配置文件中占位符引用的变量

    在项目中遇到一个这样的需求,项目的配置文件由外部传入,这时spring配置文件那些占位符变量该如何取值呢? 解决这个问题的做法有几种,我想到的大概有以下三种: 1.通过系统属性来实现,把外部传入的配置 ...

  2. SpringBoot——配置文件加载位置及外部配置加载顺序

    声明 本文部分转自:SpringBoot配置文件加载位置与优先级 正文 1. 项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者applic ...

  3. SpringBoot系列之配置文件加载位置

    SpringBoot系列之配置文件加载位置 SpringBoot启动会自动扫描如下位置的application.properties或者application.yml文件作为Springboot的默认 ...

  4. 配置文件加载位置与多profile文件

    一. 我们在编写配置文件时,文件名可以是: application-{profile}.properties 例如:我们有几个配置文件对应的是项目不同时期的配置文件 1.application-sit ...

  5. 【SpringBoot 基础系列】实现一个自定义配置加载器(应用篇)

    [SpringBoot 基础系列]实现一个自定义配置加载器(应用篇) Spring 中提供了@Value注解,用来绑定配置,可以实现从配置文件中,读取对应的配置并赋值给成员变量:某些时候,我们的配置可 ...

  6. SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么?

    在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件 ...

  7. Spring import配置文件使用占位符

    import使用占位符 连接池切换导入配置的代码: <import resource="classpath:META-INF/spring/spring-${db.connection ...

  8. SpringBoot之配置文件加载位置

    1.SpringBoot启动会扫描application.properties或者application.yml文件作为springboot的配置文件.默认创建项目生成application.prop ...

  9. JAVAEE——SpringBoot配置篇:配置文件、YAML语法、文件值注入、加载位置与顺序、自动配置原理

    转载 https://www.cnblogs.com/xieyupeng/p/9664104.html @Value获取值和@ConfigurationProperties获取值比较   @Confi ...

随机推荐

  1. 如何通过 PHP 获取 Azure Active Directory 令牌

    在调用 Azure Rest API 时,如果是属于 Azure Resource Manager 的 API,则需要使用 Azure Active Directory (Azure AD)认证获取令 ...

  2. Gradle 学习(一)

    引入插件 apply plugin: 'java' apply plugin: 'war' apply plugin: 'jetty' 如果希望使用jar来启动项目, 可以这样修改项目和插件属性. a ...

  3. Linux_vim文本编辑器指令整理

    一般指令模式 : 可以移动光标,可以删除字符和删除整列,可以复制粘贴 编辑模式 : 按下"i, I, o, O, a, A, r, R"任意一个字母时进入;按下ESC退出编辑模式 ...

  4. Bzoj1498&1416: [NOI2006]神奇的口袋

    什么鬼双倍经验题??? Sol 考虑在第\(k\)次摸到\(y\)的概率 如果上次摸到\(y\),目前有\(sum\)个球,\(y\)有\(a[y]\)个,那么概率就是\(\frac{a[y]+d}{ ...

  5. Javascript 多物体淡入淡出(透明度变化)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  6. BASE64编码的字符进行URL传输丢失特殊字符的问题

    因为BASE64的编码里含有“+”号等特殊字符,在url传输的时候会把+号编程空格,解决这个问题的方法: 请求时把BASE64编码进行url的编码再进行传输 接收时把BASE64编码进行url的解码 ...

  7. python爬虫系列:(一)、安装scrapy

    1.安装python 下载好安装包,一路next安装即可 2.把python和pip加入环境变量. 我的电脑----->右键“属性”------>“高级系统设置”------->“环 ...

  8. python 测试:生成exe文件

    任务: test.py print(input('请输入:')) 将test.py生成test.exe 解答: 安装: pip install pyinstaller 命令使用: (绝对地址)pyin ...

  9. linux(centos)设置tomcat开机启动

    方法一: linux 下tomcat开机自启动修改Tomcat/bin/startup.sh 为: export JAVA_HOME=/usr/java/j2sdk1.4.2_08 export CL ...

  10. Rabbit MQ config文件解析

    Rabbit MQ config文件解析 tcp_listeners:用于监听AMQP连接的端口或主机名/对(不带TLS),默认端口:5672 2.numtcpacceptors :将接受TCP侦听器 ...