文件类型的区分
格式简单,但是只支持键值对
spring.mvc.view.prefix=/static
如果需要表达列表,最好使用YAML格式
YAML是一个类似 XML、JSON 的数据序列化语言。其强调以数据为中心,旨在方便人类使用;并且适用于日常常见任务的现代编程语言。因而 YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”。
快速入门:
server:
port: 9092
#相当于xxx.properties的server.port=9092
# “:”后面必须有空格
详细的语法,请参考官网文档:http://yaml.org/spec/1.2/spec.html#tag/unrecognized/
或者阮一峰的网络日志http://www.ruanyifeng.com/blog/2016/07/yaml.html
YAML是一个类似 XML、JSON 的数据序列化语言。其强调以数据为中心,旨在方便人类使用;并且适用于日常常见任务的现代编程语言。因而 YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”。
详细的语法,请参考官网文档:http://yaml.org/spec/1.2/spec.html#tag/unrecognized/
执行顺序区分
SpringBoot支持自动加载约定名称的配置文件,例如
application.yml、bootstarp.yml
用来程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等
一般使用 Spring Cloud Config Server的会用到
- spring.application.name
- spring.cloud.config.server.git.uri
- 一些加密/解密信息
一般使用 Spring Cloud Config Server的会用到
可以通过设置
spring.cloud.bootstrap.enabled=false
来禁用
bootstrap
应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。
更详细的说明,请查看该大牛的博客:https://www.cnblogs.com/BlogNetSpace/p/8469033.html
profile多环境配置文件
详细博客:https://blog.csdn.net/l_sail/article/details/70142743
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
- application-dev.properties:开发环境
- application-test.properties:测试环境
-
application-prod.properties:生产环境 而启动某个配置则:spring.profiles.active= dev #启动某个配置文件,其中dev则是{profile}
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
# PROFILES
spring.profiles.active= dev,test #启动自定义的配置文件,可以通过命令行修改这个值
spring.profiles.include= proddb,prodmq# Unconditionally activate the specified comma-separated list of profiles (or list of profiles if using YAML).可以用来无条件的添加生效的配置。
单个配置文件,配置多个自定义配置:
注意事项:
- 该形式只支持yml文件格式
- 使用 --- 配置文件分割符将单文件切割文件
- 使用spirng: profiles:{profile} 即为文件名
server:
address: 192.168.1.100
---
spring:
profiles: development
server:
address: 127.0.0.1
---
spring:
profiles: production
server:
address: 192.168.1.120
基于Java配置的profiles
//Spring Profiles提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效。任何@Component或@Configuration都能被@Profile标记
@Configuration
@Profile("production")
public class ProductionConfiguration {
// ...
}
//通过@ConfigurationProperties引用的文件亦可以被当作文件来加载的。
启动方式:
1.默认启动的spring.profiles.active= dev 的值
2.编程模式激活
package com.lf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = SpringApplication.run(Application.class, args);
applicationContext.getEnvironment().setActiveProfiles("dev");
}
}
3.命令行
执行java -jar xxx.jar –spring.profiles.active=test 则可以修改其值
2.编程模式激活
执行java -jar xxx.jar –spring.profiles.active=test 则可以修改其值
文章如有错误,请您一定指出,感谢之至!
如果你有不同的见解,欢迎留言
图片可能来源于网络,如有侵权请告知。
文章中的资料有时忘记书写来源,如果需求请告知
最后:关注一下呗
如果你有不同的见解,欢迎留言
文章中的资料有时忘记书写来源,如果需求请告知
长按二维码识别关注
原文始发于微信公众号( 阿风的JAVA ):