整个项目中所有重要的数据都是在配置文件中配置的:
两种格式:.properties 和 .yml
.properties 的优先级高于 .yml;但是一般一个项目中只会用其中一个
配置文件的命名必须是 application.后缀
可以看到配置数据库连接信息的时候,spring.datasource 写了三遍,代码有点冗余,这个在 .yml 格式中就解决了
默认的编码不是:UTF-8
直接在配置文件中以 key=value 的方式写就可以了
读取:使用 @Value 注解,然后在注解里面使用 ${key} 来获取值;若没有使用 ${} 的话,就是将字符串赋值给变量(看下图)
对于语法格式非常严苛的 key: value;
冒号后面有个空格
多级目录用 换行 + tab 来区分层级的 (类似于 python 的语法)
容易出错,多加注意
在 yml 的配置文件中如果使用双引号修饰value值,那么value值中的转义字符就会发挥作用
在 properties 中,下面三种方式,转义字符都会生效
- 先在 yml 中按照语法,定义对象的属性名和值
- 然后定义一个实体类,其属性要与配置文件中的名字一一对应(顺序不做要求),然后提供get / set 方法
- 使用两个注解:@Component 与 @ConfigurationProperties(prefix = “key”) – prefix是指定当前对象用配置文件中那个key-value来赋值;@Component 是用来指定赋值操作什么时候进行(有了Component,ConfigurationProperties才会生效)
- 最后就是使用了:@Autowired来进行对象的注入,然后使用即可
// Component在这里的作用:
// 1. 让@ConfigurationProperties注解生效;
// 2.在从配置文件中将值注入后,将Student对象存入Spring中
@Component
@ConfigurationProperties(prefix = "student") // 指定将配置文件中key为student的值赋值给当前对象(通过set方法进行赋值的)
public class Student {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
类似于 上述的配置对象
https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html
rties.html
上一篇:MongoDB 使用教程
下一篇:交并比(IOU)的计算方法