• Spring:@ConfigurationProperties配置绑定


    @ConfigurationProperties + @Component

    在 Spring Boot 项目中,我们可以将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值

    @ConfigurationProperties:prefix===>属性的前缀

    /**
     * @Author wem.jie
     * @Description 只有容器中的组件才拥有SpringBoot强大功能
     * @Date 2021/1/29 8:43
     **/
    @Data
    @Component
    @ConfigurationProperties(prefix = "wj.person")
    public class Person {
        private String personName;
        private Integer age;
    }
    

    配置文件

    wj.person.personName=wen.jie
    wj.person.age=18
    

    主启动类:

    @SpringBootApplication
    public class Boot2TestApplication {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext run =
                    SpringApplication.run(Boot2TestApplication.class, args);
    
            Person person = run.getBean(Person.class);
            System.out.println(person);
        }
    
    }
    

    image-20210129085418998

    @EnableConfigurationProperties +@ConfigurationProperties

    @Data
    @ConfigurationProperties(prefix = "wj.person")
    public class Person {
        private String personName;
        private Integer age;
    }
    

    在配置类上面加上@EnableConfigurationProperties

    //开启Person配置绑定功能
    //把Person组件自动注册到容器中
    @EnableConfigurationProperties(Person.class)
    @SpringBootApplication
    public class Boot2TestApplication {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext run =
                    SpringApplication.run(Boot2TestApplication.class, args);
    
            Person person = run.getBean(Person.class);
            System.out.println(person);
        }
    }
    

    image-20210129093459773

    宽松绑定

    以下配置,无论哪一种都会被绑定到对象属性上。

    wj.person.personName=wen.jie
    wj.person.person-Name=wen.jie
    wj.person.person_Name=wen.jie
    wj.person.personname=wen.jie
    wj.person.PERSON-name=wen.jie
    

    自动提示

    引入依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    

    然后重新启动应用后,以后写配置文件,自定义的都有提示了。

    image-20210129131126278

  • 相关阅读:
    Android CTS(frome google)
    Android CTS
    【Linux】- 修改系统时间与时区
    【Linux】- CentOS查看IP
    【Linux】- Ubutnu UFW防火墙的简单设置
    【Linux】- Ubuntu安装nginx
    【Linux】- apt-get命令
    【Linux】- Ubuntu搭建FTP服务器
    【Linux】- Ubuntu 配置mysql远程访问
    【Linux】- Ubuntu安装redis,并开启远程访问
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14343262.html
Copyright © 2020-2023  润新知