springboot配置文件中的数据注入到bean的方法(配置绑定)


1.背景

  springboot框架是一个自动化配置框架,当自动化配置满足不了程序的需求时,我们就需要配置自己特殊的参数,例如配置服务启动的端口,或者我们自定义一些组件时,需要初始化时,就可以将数据定义在配置文件中,然后通过spring框架将配置文件中的数据注入到组件中。

2.方式一

  1. 定义组件添加@Component注解和@ConfigurationProperties(prefix = "mycar")
    @Component
    @ConfigurationProperties(prefix = "mycar")
    public class Car {
        private String brand;
        private double price;
    }
    
  2. 在application.properties配置文件中配置对于前缀的数据
    mycar.brand=BWM
    mycar.price=88888
    
  3. @ConfigurationProperties注解的作用:在配置文件中根据前缀获取相应的值,注入到属性中,但是要想注入成功必须将该组件加入到容器中,因为在springboot中要想实现自动配置的效果,就必须将组件添加到容器中。

 

 

 

3.方式二

  1. 依旧将@ConfigurationProperties注解设置前缀,这个时候不需要将组件加到ioc容器中
    @ConfigurationProperties(prefix = "mycar")
    public class Car {
        private String brand;
        private double price;
    }
    

      

  2. 在任意一个配置类中使用@EnableConfigurationProperties注解,且在将组件的类型作为参数送进去,该注解的参数是一个数组,我们可以传多个组件进行自动配置,且将这些组件加入到ioc容器中。
    @SpringBootApplication
    @EnableConfigurationProperties({Car.class})
    public class Springdemo11Application {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext run = SpringApplication.run(Springdemo11Application.class, args);
            Object car = run.getBean("car");
            System.out.println(car.toString());
        }
    
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM