立即学习:https://edu.csdn.net/course/play/25330/298882?utm_source=blogtoedu
配置文件
作用:springboot自动配置(约定,8080).可以使用配置文件对默认的配置 进行修改
默认全局配置文件:
app1ication.properties:k=v或行内写法(k:v,CSet/List/数组]{map,对象类型的属性},并且[]可省,{}不能省)
app1ication.yml:yaml不是一个标记文档
注意:1.k:空格v 2.通过垂直对齐指定层次关系 3.默认可以不写引号;""会将其中的转义符进进行转义,其他不会
server:
port:8882
path: /a/b/c
xml:是一个标记文档
</server>
<port>8882</port>
<path>/a/b/c</path>
</server>
student:
#name: zs
#age:23
sex:true
birthday:2019/02/12
绑定:
@Component //将此Javabean
@ConfigurationProperties(prefix="student")
public class Student
绑定:@ConfigurationProperties(yml/properties) @Va1ue("xx")二者可以互补
@ConfigurationProperties @Value
注值: 批量注入 单个
陀螺峰与松散语法: 支持 不支持
SpringEL表达式(${}): 不支持 支持(注解时使用双引脚号修饰${配置名.值},配置名和值是在全局配置文件中定义的,使用该变量所在的实体类时,只需要用@Autowired修饰,该类的用@Value注解与SpEL表达式修饰的变量会自动得到配置文件里的值)
JSR303数据校验: 支持 不支持
JSR303数据校验:使用注解@Validated修饰实体类,@Email修饰邮箱格式的字符串数据;Maven依赖如下:
<org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.0.Final</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>2.2.4</version>
</dependency>
更多校验的注解请上网查看
注入复杂类型:@ConfigurationProperties 支持(Map等),@Value不支持
简单类型:8个基本类型/String/Date
@PropertySource:一般我们默认使用配置文件application.properties/yml中配置的数据,但使用该注解修饰类,可以实现从指定配置文件读取相关数据,用法:@PropertySource(value={”class path:XXXX.properties“});但是这个注解只能对properties文件生效,yml文件无效。