Spring Boot中获取配置文件的注解

一. @Value与@ConfigurationProperties

  @ConfigurationProperties @Value
功能 批量注入配置文件中的属性  一个个指定
松散绑定(松散语法) 支持 不支持
SPEL 不支持 支持
JSR303数据校验 支持 不支持
复杂类型封装 支持 不支持

  不管是yml配置文件还是properties配置文件,他们都能获取到值。

  一般情况下:如果我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value。

  如果我们使用JavaBean来与配置文件进行映射,我们直接使用@ConfigurationProperties。

二. @PropertySource与@ImportResource与@Bean

  [email protected]:加载指定的配置文件(@ConfigurationProperties默认从全局配置文件中获取值)

    eg:我这有个配置文件person.properties

person.name=xuye
person.age=18
person.birth=1993/12/29
person.maps.k1=v1
person.maps.k2=12
person.lists=a,b,c
person.pet.name=dog
person.pet.age=1

    Spring Boot中获取配置文件的注解

 

   [email protected]:导入spring配置文件,让配置文件里面的内容生效。

    Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上(例如放在Spring Boot启动类上)。

  [email protected]:Spring Boot是采用全注解的方式,一般我们使用配置类的方式来自声明配置文件。

    编写一个配置类,放到Spring Boot组件中

    1. 在类上添加@Configuration

    2. 在某个方法上添加@Bean,这个方法返回值就是我们要的某个实例(方法的返回值添加到容器中,容器中这个组件的名称就是方法名)。