1. Spring配置文件
1.1 配置文件占位符
随机数
random.int() random.uuid()等随机值
- 获取配置文件中配置的值,支持指定默认值
server:
port: 8081
person:
name: 张三
age: ${person.dog.age}
map:
favorite: 羽毛球${random.uuid}
address: 朝阳区${person.name}
lists:
- 语文${server.port}
- 数学
- 英语
dog:
name: ${person.hello:我}的狗 //冒号后面指定默认值
age: 12
1.2 Profile文件
多Profile文件形式
- 默认使用appcation.properties中的配置,优先级大于application.yml
- 项目中包含application-dev.properties、application-test.properties文件
- 在application.properties文件中配置spring.profiles.active=dev激活配置文件
yml文档块
通过3个横线可以将yml文件分隔成文档块
server: port: 8085 spring: profiles: active: dev --- spring: profiles: dev server: port: 8086 --- spring: profiles: test server: port: 8989
- 通过命令行 –spring.profiles.active=test 指定要激活的配置文件
1.3 配置文件加载位置
优先级由高到低,高优先级文件覆盖低优先级文件,互补配置:
- 项目路径下/config/application.yml
- 项目路径下/application.yml
- resource/config/application.yml
- resource/application.yml
2. Spring配置类
- @Configuration
@Configuration的作用是指明当前类是一个配置类,代替之前的spring配置文件 - @Bean
@Bean用来注解方法,将方法的返回值注入到容器中,容器中这个组件的id就是方法名
/*
@Configuration的作用是指明当前类是一个配置类,代替之前的spring配置文件
*/
@Configuration
public class MyAppConfig {
/*
@Bean用来注解方法,将方法的返回值注入到容器中,容器中这个组件的id就是方法名
*/
@Bean
public Dog dog(){
System.out.println("配置类给容器中添加组建了");
return new Dog();
}
}