注解配置
1.@ConfigurationProperties(prefix="person")
person 是配置文件中该类的对应映射,可实现对类中所有属性的批量注入(person,birth,person.age,person.sex),即复杂类型封装
修饰类,该注解告诉SpringBoot将本类中所有属性和配置文件中相关配置进行绑定,通过配置文件对类注入值。prefix字节用来与配置文件中类对应的具体属性进行映射,在使用该注解前,记得先用@Component把修饰类放进SpringBoot容器中,默认从全局配置文件application.properties中找到对应属性。该注解支持松散(语法)绑定(如:lastName与last-name),数据校验,@Value不支持,但支持spEL,且@Value不支持复杂类型封装
用法:@Value:在业务逻辑中需要获取配置文件中的某项值; @ConfigurationProperties用于JavaBean和配置文件之间的映射
2.@PropertySource(value={"classpath:person.properties"})
person.properties 是新创建的配置文件
加载指定的配置文件,而非全局文件application.properties
3.@ImportResource(locations={"classpath:beans.xml"})
导入spring的配置文件(xml类型)后,为使之生效,需采用该注解标注在配置类上
4.@SpringBootApplication;
主配置类
@Configuration
指明当前类是一个配置类,用于替代spring配置文件的地位。SpringBoot不推荐采用spring的xml配置文件的方式来给容器添加组件,推荐使用配置类替代配置文件。
在配置类中,@Bean标注在方法上,将方法的返回值作为组件添加到springboot容器中,容器中新添的这个组件默认的id就是方法名。
配置文件占位符$
用法:
1. ${random.int}
2. ${之前配置的属性}