1. 程式人生 > >spring 獲取容器及容器中的物件

spring 獲取容器及容器中的物件

spring容器中獲取已注入物件的幾種方式:
首先理解spring容器中是誰負責裝載這些物件:ApplicationContext,對是它;
當啟動服務(springboot、tomcat)之後所有已經配置(註解、xml配置)物件將會例項化,最後放入到ApplicationContext裡面,這裡提供一種spingcloud 啟動時可以檢視的部分虛擬碼
public class TestApplication {

public static void main(String[] args) {
    SpringApplication.run(TestApplication.class, args);
}

@Bean
public CommandLineRunner appRuner(ApplicationContext ac) {
    return args -> {
       Object user= ac.getBean("user");
       //通過類名(BeanName)獲取已注入物件,這裡user是一個被注入到容器中的Bean==》User類;
        System.out.println(user);
        String[] names = ac.getBeanDefinitionNames();
       for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);//可以看到每個BeanName,但首字母是小寫的
        }
    };
}

}

獲取spring的容器ApplicationContext幾種方式【轉】