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