一、注解
1、@SpringBootApplication:标注主程序类,说明这是一个SpringBoot应用。
2、@RestController:相当于@Controller和@Responsebody的组合注解,标注在类上,类中的所有方法返回数据。
3、@ConfigurationProperties(prefix="xxx"):标注在类上,告诉SpringBoot将配置文件中的配置项和类中的属性进行绑定,默认从全局配置文件中取值。prefix指定配置文件中哪一配置项下的属性和类中的属性绑定。当类属于容器中的组件时,该注解才能生效,所以在该类上用@Component等注解标注。@ConfigurationProperties支持JSR303进行配置文件值校验。
4、@Value("xx"):Spring底层的注解,标注在成员变量上进行赋值。括号中可以直接些字面值,如@Value("aa"),也可以使用${}的形式,获取环境变量或配置文件中的值,如@Vlue("${person.name}"),也可以些spel表达式#{},如@Value("#{2*3}")
5、@PropertySource(value = {"xxxx"}):标注在类上,加载指定的配置文件,配合@ConfigurationProperties(prefix="xxx")和@Value等注解将指定属性文件中的值和成员变量进行绑定。
6、@ImportResource(locations = {"xxxx"}):标注在类上,引入自己编写的spring的配置文件。
7、@Configuration、@Bean--Springboot推荐使用全注解的方式向容器中添加组件。
如:
@Configuration
public class MyConfig {
@Bean
public Animal animal(){
return new Animal();
}
}
@Configuration:表明当前类是一个配置类,用来替代以前的spring配置文件
@Bean:将方法的返回值作为组件添加到容器中,组件的id默认为方法名。
8、
二、配置文件:SpringBoot使用一个全局配置文件,配置文件的名字是固定的(application.properties或application.yml)
1、配置文件的作用:SpringBoot在底层都给我们自动配置好了,可以通过过修改配置文件来更改SpringBoot自动配置的默认值。
2、yml:yml是yaml语言的配置文件,yaml以数据为中心。
3、yaml语法:
(1)基本语法
a:使用键值对形式。k: v。value一定要和:之间有一个空格。
b:如果存在层级关系,使用空格来控制缩进,左对齐的一列数据就属于同一层级。
(2)值的表示方法
a:字面值
使用k: v形式进行书写。字符串默认不用加引号,如果加引号,双引号和单引号存在差异。例如“aaa\nbbb”加双引号输出结果就是aaa(换行)bbb,‘aaa\nbbb’加单引号输出的结果就是aaa\nbbb。
b:对象
例如有一个person对象,有属性name和age
还是使用键值对的形式,存在层级关系:
person:
name: zhangsan
age: 20
也可以在一行内书写,行内写法:
person: {name: zhangsan,age: 20}
c:数组 List Set
例如有个animal数组,里面有tiger,dog,cat
用-+值的形式,存在层级:
animal:
- tiger
- dog
- cat
行内写法:
animal: [tiger,dog,cat]
4、配置文件占位符
(1)随机数
${random.value}、${random.int}、${random.long}......
(2)占位符获取之前配置的值,如果过没有可以使用:指定默认值
${person.name:hello}