【JavaEE】Spring Boot 开发要点总结(2)
文章目录
- 【JavaEE】Spring Boot 开发要点总结(2)
- 1. 配置文件的两种格式
- 2. .properties 文件
- 2.1 基本语法
- 2.2 注释
- 2.3 配置项
- 2.4 主动读取配置文件的键值
- 2.5 数据库的连接时的需要的信息配置
- 3. .yml文件
- 3.1 .yml文件的优缺点
- 3.2 自定义对象
- 3.3 自定义对象的获取
- 3.4 配置集合(简单的String类型集合)
- 4. 其他配置项
- 5 properties 和 yml的区别
- 6 补充
- 6.1 命名
- 6.2 指定配置文件
所有重要和必要的数据都是在配置文件中配置的
例如:
没有配置文件,就无法连接数据库,甚至不能保存日志!
配置文件的类型有两种:
.properties
.yml
.yaml
也一样两种最主要的区别就是,格式不同,且对于重复的设置,properties的优先级更高~
- propertise
- yml
结果:
虽然这两种文件可以共存,但是在实际开发的时候,通常是统一一种配置文件的~
.properties配置文件是最早期的格式,为项目的默认配置文件
而这种写法相对于比较正式,不易出错,整齐全面,适合初学者
例如:
server.port=8080
spring.datasource.url=jdbc:mysql:127//127.0.0.1:3306/testdb?charsetEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
.
代表着层级关系,“的”:X.Y => X里面的Y,对象的用法去联想也可以~
# 井号代表注释~
重新启动后,(保存后显示)就会发现注释乱码的问题~
配置文件的配置类型分两种:
对于系统配置项,就是给系统用的,系统在启动的时候会自动获取,然后设置到一些必要的地方,例如端口号…
而对于用户自定义的配置项,则是用户保存的一些键值对罢了,系统不会用到,是用户主动去读取的
一样的,在JavaEE进阶,遍地是注解,而这里,仍然有注解可以解决我们的问题~
现在开始的注解,大部分都是“属性注入”的思想,适当联系之前的DI~
返回了key值~
正确的写法应该是:“${XXX.YYY}”
效果:
补充:
效果:
可见写起来比较麻烦
但是这是必须的,因为不止 spring有 datasource,不止 datasource有 url…
至于配置后的细节知识 以及如何操作数据库呢,这是后续的内容,非本文重点~
.properties文件的
优点就是:陈列清晰
缺点就是:写法臃肿
优点就是:写法归纳性强,从简,可读性高
缺点:初学者容易犯错, 规矩多~
注意:
将.properties的内容转化过来:
key: value
, 冒号后面的空格不可缺少效果:
其他的优点:
- 支持更多的数据类型,它可以简单表达清单(数组),散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或者编辑数据结构、各种配置文件等
- properties也差不多吧,只是没有明说,官方夸的天花乱坠~
- yml 支持/面向 更多的编程语言,或者说更多的编程语言认可yml
- 它不止是 Java中可以使用,在 Golang、高版本的 PHP、Python、Ruby、JS、Perl…中也都可以使用
- 这样,在开发的时候,不同语言的工程师,也可以用统一的配置文件去设置一些共同配置和共同自定义数据
- 最有价值的优点,不过现在用不着~
其实这就是一个对象,yml有明说~
properties的这个,也是个对象,没有明说~
创建一个实体类:
通过Bean的存储和注入的方式:
识别配置文件,赋值给Bean的方法:
属性注入:
效果:
效果:
对于properties文件,效果也一样:
这个list也可以看成,db_type对象的一个属性
定义对象的时候,对象名不能用下划线,可以用减号,但是属性名可以:
所以获取这个自定义数据的方式跟上面一样:
效果:
对于,
List
等等,那么就要保证每个值都严格对应得上,才不会报错!
可以参考官方文档:
Common Application Properties (spring.io)
配置文件的标准名是:application-xxx,从图标就可以看出异端:
这就是spring的约定,要遵循!
我们有时候开发,要针对不同代码开发环境将配置文件分类:
指定配置文件扫描(非系统配置文件 application.yml/application.properties):
另一种方式:对接环境对应的配置环境
在系统配置文件中去设置:
spring:
profiles:
active: xxx
# xxx 代表开发环境配置文件格式 application-xxx 的 xxx
含义就是,系统配置文件附带这个配置文件(或者说是接上了这个配置文件)
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭!本文代码位置:spring_boot_demo1 · 游离态/马拉圈2023年8月 - 码云 - 开源中国 (gitee.com)