springboot开发白皮书-配置类

springboot偏好使用java class类型的来引入配置属性,也就是将properties、json、YML格式的配置文件读取到class中生成全局bean来使用,当然考虑到历史原因,还保留读取xml格式资源文件的能力。

属性配置到一个class中

  1. 创建一个独立的class,包含全部的属性,通过@Configuration注解该class声明为配置类,然后再通过@Value将resources中的配置文件中的属性值注入该类,或者通过@ConfigurationProperties(prefix = "oss")将某个属性对象下的子属性注入该类对应的同名字段
@Data
@Configuration
@ConfigurationProperties(prefix = "oss")
public class OssConf {
    @Value("${key1}")
    private String key1;
    @Value("${key2}")
    private String key2;

    private String endpoint;
    private String accessKeyId;
    private String accessKeySecret;
    private String bucketName;
}
  1. 导入xml格式配置文件
    通过@ImportResource声明可以将xml格式的配置文件导入进容器。
    bean的配置文件如下:


    

通过xml导入将bean注册到容器

@SpringBootApplication
@ImportResource(locations = {"classpath:beans.xml"})
public class Springboot02ConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(Springboot02ConfigApplication.class, args);
    }
}
  1. 自动配置
    可以通过@EnableAutoConfiguration声明自动配置,但是建议在每个配置class上以@Configuration明确声明配置类。

你可能感兴趣的:(springboot开发白皮书-配置类)