download:WebRTC源码级深度解析,进阶大厂高级音视频开发者

应用SpringBoot配置文件的具体阐明
1.创立一个SpringBoot我的项目
二。配置文件的类型
从上一节的图中能够看出,src/main/resources目录中的application.properties文件是创立的默认全局配置文件。

这是一种以。属性后缀。

还有一种以结尾的YAML文件类型。yml suffix-application.yml/application.yaml.

YAML是一种比属性格局年老得多的配置格局,属性格局在云原生中应用。
三。配置文件#的语法格局
3.1利用类型.属性#
Properties是java中常见的配置文件类型,其语法格局为key=valve。
复制

` key=value '
复制代码
应用示例:
复制

` server.port = 80
server.ip = 127.0.0.1

app.property.key = proname
app.property.name = tom
app.list = 1,2,3

还有这个语法?

增加启动命令:- spring.profiles.active=dev

spring . profiles . active = $ { spring . profiles . active } #读取启动命令参数

属性占位符:应用${var}语法来援用已定义属性的值。

app.desc =您的姓名是${ app . property . name } `
复制代码
3.2 application.yml类型#
将上述属性格局更改为yml格局:
复制

`服务器:
端口:80
ip: 127.0.0.1

应用程序:
属性:
关键字:proname
姓名:汤姆
列表:[1,2,3]
desc:你的名字是${app.property.name}

春天:
个人资料:
active:$ { spring . profiles . active } ` 0
复制代码
例如,对于一个数组,能够这样写:
复制

`人:
喜好:
篮球
跑步吗?
-浏览
复制代码
你也能够这样写:
复制

`人:
喜好:[篮球、跑步、浏览]
复制代码

YAML反对以下数据类型:

对象:键值对的汇合,也称为映射)/散列)/字典。
数组:按顺序排列的一组值,也叫序列)/列表。
标量:繁多的、不可分割的值。

3.3配置随机值
SpringBoot外部提供了一个随机的。*属性,专门用于生成随机值。

属性random.int随机生成正负整数random.int(max)随机生成整数random.int(min[0,max]随机生成整数random.long随机生成正负长整数random.long(max)随机生成[0,长整数random区间的long(min,max)随机生成长整数random。[min,max]区间的UUID随机生成一个uuid字符串(包含'-'字符)。' '示意除上述字符之外的其余字符,用于随机生成32位字符串。
配置示例:
复制

` int-val=${random.int}
int-range-val=${random.int(2)}
uuid-val=${random.uuid} `
复制代码
四。配置文件的加载程序#
当SpringBoot启动时,以下地位的application.properties或application.yml将作为默认配置文件加载。

文件:。/config/
文件:。/config/*/
文件:。/
类门路:/config/
类门路:/

加载程序是从上到下,所有文件都会被加载,优先级高的内容会笼罩优先级低的内容。

动词 (verb的缩写)其余配置#
5.1其余配置#
其实下面曾经用过了,比方把命令行参数信息读入配置文件。这里的命令行参数也是动静配置信息。
其余常见配置模式:

零碎变量:这在linux中常常应用。
命令行参数:启动应用程序时常常配置的运行参数。
Java零碎属性:通过System.getProperties()获取。
评论一些属性文件集,比方@PropertySource设置的属性文件。
启动由spring application . setdefaultproperties类设置的默认属性。

5.2什么是装载程序#

命令行参数
Java零碎属性
零碎环境变量
随机属性。*价值
应用程序-{profile}。{属性|yml}
申请。{属性|yml}
对@PropertySource设置的属性文件进行正文
启动由spring application . setdefaultproperties类设置的默认属性。

装载程序是从上到下。

不及物动词配置信息#的性能

数据库信息保留

我的项目的启动信息,如测试、开发、生产环境、端口信息等。

一些自定义配置信息,如文件上传地址、调用第三方url地址、uid、密钥信息等。

等一下。
七:读取配置文件#
7.0绑定配置的一些规定#
SpringBoot为中配置的属性名提供了一些绑定规定。属性和。yml文件,它不要求配置的属性名与Bean中的属性名完全相同。它反对以下规定的命名办法:

形容名字规范的驼峰命名的名字单词用'-'分隔。Spring Boot倡议用“_”来分隔名字。所有名字的单词都大写,并用“_”分隔。应用零碎环境变量时,倡议这样做。
7.1通过@Value annotation #读取
应用程序. yml:
复制

`服务器:
端口:80
ip: 127.0.0.1 '
复制代码
应用正文@ Value(“$ {属性名}”)将配置文件中的值注入到程序属性中。
复制

` @组件
公共类ServerConfig {

@Value("${server.port} ")
公共字符串端口;

@Value("${$server.ip} ")
公共字符串IP;
}`
复制代码
7.2通读@ConfigurationProperties批注#
7.2.1 @ConfigurationProperties读取配置值#
@ConfigurationProperties:将配置文件中的相干配置与类中的属性绑定。
外面有一个参数。当然,这个参数能够留空。语法如下:
复制

@ configuration properties(prefix = " XXX ")
复制代码
下面application.yml中的值也能够由上面的程序读取:
复制

` @组件
@ConfigurationProperties(前缀= "服务器")
公共类ServerConfig {

公共字符串端口;

公共字符串IP;
}`
复制代码

让咱们举一个更简单例子:

application.yml文件:
复制

`服务器:
端口:80
ip: 127.0.0.1
列表服务器:
BJ服务器
GZ服务器
地图服务器:{北京服务器:192.168.0.2,广州服务器:192.168.0.3}
dns:
bj: bj.dns.one
gz: gz.dns.two
港口:8081,8082 '
复制代码
读取配置文件:
复制

` @组件
@ConfigurationProperties(前缀= "服务器")
公共类ServerConfig {

公共字符串端口;
公共字符串IP;
集体散发名单服务器;
私人地图mapServer
private int[]arr port;

专用域名零碎;

公共动态类Dns {
私串bj;
私串gz;
}
}`
复制代码
下面也能够用@Value读取,程序同上例。
7 . 2 . 2 @ value和@ConfigurationProperties #之间的差别

@ConfigurationProperties@Value函数批处理将配置文件中的属性一一注入。指定的属性是涣散绑定的。不反对SPEL(表达式)。不反对JSR303数据验证。不反对简单类型。
7.3 @PropertySource加载指定的配置文件
@ property source(" email-config.properties "),加载email-config . properties配置文件。
同样,您也能够加载。yml。
电子邮件配置属性:
复制

` email.name = jimmy
email . from = 123@test.com
email.to = 567@yeah.com '
复制代码
读取配置文件值:
复制

` @组件
@ property source(" email-config . properties ")
@ConfigurationProperties(前缀= "email ")
公共类EmailConfig {
公有字符串名称;
公有字符串到;
公有字符串来自;
}`