1、配置文件作用:
- spring boot自动配置(约定8080)。可以使用配置文件对默认的配置进行修改
2、默认全局配置文件:
1)application.properties:k=v或行内写法(k: v,[set/list/数组],{map,对象类型的属性})
2)application.yml:yaml ain't myarkup language,不是一个标记文档.
k:空格v
server:
port:8882
path:/a/b/c
xml:是一个标记文档eg:
<server>
<port>8882</port>
</server>
注意在yml文件中:
1.k:空格v
2.通过垂直对齐指定层次关系
3.默认可以不写引号,“”会将其中的转义符进行转义.
4.map,数组,集合,类写法
集合数组中括号,map,以及对象和属性大括号{},注意,中括号可以省去,大括号不可以
5.yml文件可以properties可以互补,同时使用
3.通过yml给对象注入值:
注入值:
student:
#name:zs
#age:23
sex:true
birthday:2019/02/12
绑定:
绑定值方法1:
@component将此javabean
@configurationProperties(prefix="student")
public class Student
绑定值方法2:
@Value(“23”)
@configurationProperties @value
注值 批量注值 单个注值
松散语法 支持 userName user-name 不支持
SpringEL 不支持 支持
数据校验JSR303 支持 不支持
注入复杂类型 支持 不支持
简单类型:8个基本类型、String、Date
4、@PropertySource:
- 默认会加载application.properties/application.yml文件中的数据。例如可以通过@propertySource(valuue={“classpath:conf.properties”}加载conf.properties的数据。但是,@PropertySource只能加载properties,不能加载yml
5、@ImportResource
- spring boot可以自动装配、自动配置,spring等配置文件,默认会被spring boot自动给配置好。如果要自己编写spring等配置文件,spring boot能否识别?默认不识别,如果需要识别,则需要在spring boot主配置类上通过@ImportResource注解指定配置文件路径。
- 但是不推荐手写spring配置文件,配置:xml文件,通过注解配置。spring boot推荐时候用注解的方式进行配置:写类,@Configuration,@Bean
6、spring boot的全局配置文件中的占位符表达式 $
-
随机数 ${random.uuid}等
-
引用变量值
yml中: student: name: ${student.user,name}输出值zl13 实际引用的是properties中的student.user.name=zl13 yml中: student: name: ${student.user,name2:无名}这种表示如果不存在,则用默认值。输出无名