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几种方式【转】

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐