https://www.bilibili.com/video/BV1gW411W76m?p=1
1.@PropertySource加载指定配置文件(当前默认从全局配置文件获取值)
可以自己添加配置文件,并在需要注入的类里声明需要引入的配置文件
@PropertySource(value = {"classpath:person.properties"})
@Component
@ConfigurationProperties(prefix = "person")
@Validated
public class Person {
2.@ImportResource :导入Spring的配置文件,让配置文件里的内容生效
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件也不能识别;
想让Spring配置文件生效,加载进来;@ImportResource标注在主配置类上
SpringBoot推荐给容器中添加组件的方式:推荐使用全注解的方式
1.配置类=====Spring配置文件
使用@Bean添加配置文件
package com.tou.springbootquick.config;
import com.tou.springbootquick.service.HelloService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Configuration:指明当前类是一个配置类;就是用来代替之前的Spring配置文件
* Sring在配置文件中使用<bean><bean/>标签添加组件
*
*/
@Configuration
public class MyAppConfig {
//将方法的返回值添加到容器中;容器中的这个组件默认的ID就是方法名
@Bean
public HelloService hello(){
System.out.println("配置类@Bean给容器中添加组件了");
return new HelloService();
}
}
配置文件的占位符
1.随机数
${random.value}、${random.int}、${random.long}
${random.int(10)}、${random.int[1024,65536]}
2.占位符获取之前配置的值,如果没有可以用:指定默认值
#idea properties配置文件默认为utf-8
person.last-name = 张三${random.uuid}
person.age = ${random.int}
person.birth=2017/12/15
person.boos=false
person.maps.k1=v1
person.maps.k2=15
person.lists=a,b,c
person.dogs.name=${person.hello:hello}dog
person.dogs.age=15