springboot默认配置文件是什么,springboot配置文件 bootstrap
I .创建SpringBoot项目# 2创建SprintBoot项目的方法:
在https://start.spring.io/,创建一个SpringBoot项目,然后将其导入IDEA。直接在IDEA上创建SpringBoot项目,File-New-Project,Sprint Initializr,填写相关信息。我在https://start.spring.io/,直接生成了一个项目,然后下载并导入到IDEA中。
解压缩下载的文件,并将其放入SpringBootConfigDemos文件夹:
二。配置文件类型#正如您在上一小节的图中看到的,src/main/resources目录中的application.properties文件,这是创建的默认全局配置文件。
这是一种以。属性后缀。
还有一种以结尾的YAML文件类型。yml suffix-application.yml/application.yaml.
YAML是一种比属性格式年轻得多的配置格式,属性格式在云原生中使用。
三、配置文件语法格式# 3.1 application . properties type # properties是java中常见的配置文件类型,语法格式:key=valve form,
复制
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=your name is $ { app . property . name } ` 3.2 application . yml type #将上述属性格式更改为yml格式:
复制
`服务器:
端口:80
ip: 127.0.0.1
应用程序:
属性:
关键字:proname
姓名:汤姆
列表:[1,2,3]
desc:你的名字是${app.property.name}
春天:
个人资料:
active:$ { spring . profiles . active } `例如,对于一个数组,可以这样写:
复制
`人:
爱好:
篮球
跑步吗?
——读书也可以这样写:
复制
`人:
爱好:[篮球、跑步、阅读]` YAML支持以下数据类型:
对象:一组键值对,也称为映射)/哈希)/字典数组:一组按顺序排列的值,也称为序列)/列表标量:单个不可分的值YAML入门教程:
注意:YAML格式区分大小写。Key: value表示键值关系,冒号后面必须加一个空格。
https://yaml.org/3.3配置随机值# SpringBoot提供了一个随机。*属性,专门用于生成随机值。
属性
形容
random.int
随机生成正整数和负整数
random.int(max)
随机生成区间为[0,max]的整数
random.int(最小值,最大值)
随机生成[min,max]区间的整数
随机.长型
随机生成正负长整数。
random.long(最大)
随机生成[0,max]区间的长整数
random.long(最小值,最大值)
随机生成[min,max]区间的长整数
random.uuid
生成UUID字符串(包含“-”字符)
随机的。*
* 表示除上述字符之外的其他字符,用于随机生成32位字符串。
配置示例:
复制
` int-val=${random.int}
int-range-val=${random.int(2)}
Uuid-val=${random.uuid} ` IV。配置文件的加载顺序springboot启动时,以下位置的application.properties或application.yml将作为默认配置文件加载。
文件:/config/file:/config/*/file:/class path:/config/class path:/加载顺序是从上到下,所有文件都会被加载,高优先级的内容会覆盖低优先级的内容。
动词(verb的缩写)其他形式的配置# 5.1其他形式的配置#实际上已经在上面使用过了,比如把命令行参数信息读入配置文件。这里的命令行参数也是动态配置信息。
其他常见配置形式:
系统变量:这在linux中经常使用。命令行参数:启动应用程序时经常配置的运行参数。Java系统属性:通过System.getProperties()获取。批注设置的一些属性文件,比如@PropertySource设置的属性文件启动默认属性5.2由类spring application . setdefaultproperties设置加载顺序#命令行参数Java system property系统环境变量property application-{ profile } with random。* .{properties yml}应用程序。{properties yml}注意@PropertySource启动类spring application . setdefaultproperties设置的默认属性加载顺序是从上到下。
不及物动词配置信息的作用#数据库连接信息保存项目的启动信息,如测试、dev、prod环境、端口信息等用户自定义的配置信息,如文件上传地址、调用第三方url地址、uid、key信息等。
VII:阅读配置文件# 7.0中绑定配置的一些规则# SpringBoot配对*中配置的属性名。属性和*。yml文件。它提供了一些绑定规则,并且不要求配置的属性名与Bean中的属性名完全相同。它支持以下规则的命名方法:
属性
形容
名字
标准驼峰命名
熟悉的
单词之间用-分隔,这是Spring Boot推荐的
名字
单词之间用“_”隔开
名字
所有单词都要大写并用 _ 分隔,这是使用系统环境变量时的建议。
7.1通过@Value批注读取# application.yml:
复制
`服务器:
端口:80
Ip: 127.0.0.1使用注释@Value(${ attribute name} )将配置文件中的值注入到程序属性中。
复制
` @组件
公共类ServerConfig {
@Value(${server.port} )
公共字符串端口;
@Value(${$server.ip} )
公共字符串IP;
} ` 7.2 Read # 7 . 2 . 1 through @ configuration properties annotation @ configuration properties Read configuration value # @ configuration properties:将配置文件中的相关配置与类中的属性绑定。
里面有一个参数。当然,这个参数可以留空。语法如下:
复制
`@ configuration properties(prefix= XXX )`上面application.yml中的值也可以由下面的程序读取:
复制
` @组件
@ConfigurationProperties(前缀=server )
公共类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
Arr-port: 8081,8082 `读取配置文件:
复制
` @组件
@ConfigurationProperties(前缀=server )
公共类ServerConfig {
公共字符串端口;
公共字符串IP;
个人分发名单字符串listServer
私有映射字符串,字符串mapServer
private int[]arr port;
专用域名系统;
公共静态类Dns {
私串bj;
私串gz;
}
} `以上也可以用@Value来读。该程序与前面的示例相同。
7 . 2 . 2 @ value和@ConfigurationProperties #之间的差异
@配置属性
@值
功能
配置文件中属性的批量注入
逐个指定属性。
松散装订
支持
不支持
配方奶粉
不支持
支持
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 {
私有字符串名称;
私有字符串到;
私有字符串来自;
}`
版权归作者所有:原创作品来自博主小二上九8,转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。