美文网首页
springboot开发白皮书-配置类

springboot开发白皮书-配置类

作者: 李征兵 | 来源:发表于2019-07-31 12:32 被阅读0次

    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 version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="helloService" class="com.chentongwei.springboot.service.HelloService"></bean>
    </beans>
    

    通过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开发白皮书-配置类

          本文链接:https://www.haomeiwen.com/subject/upoarctx.html