Spring容器管理自动创建对象问题

img


Spring中写代码时,把类交给spring容器管理自动创建对象,使用的时候用@Autowried注解装配。但是图上这个交给spring容器的类,它是什么时候创建对象发挥作用的?

调用下面的方法进行实例化的,

详细的讲解可以参考 https://github.com/yanghaiji/Advanced-books 里Spring 进阶的分享 Java 核心技术,并发设计模式,数据结构与算法,SpringBoot ,OAuth2.0源码分析,Mysql进阶篇,Git 高级操作,Netty 教程,Redis设计与实战,Flink入门教程,Kafka入门与架构分析,Linux入门与Shell编程,希望更多的小伙伴一起加入共同维护,持续更新中! - GitHub - yanghaiji/Advanced-books: Java 核心技术,并发设计模式,数据结构与算法,SpringBoot ,OAuth2.0源码分析,Mysql进阶篇,Git 高级操作,Netty 教程,Redis设计与实战,Flink入门教程,Kafka入门与架构分析,Linux入门与Shell编程,希望更多的小伙伴一起加入共同维护,持续更新中! https://github.com/yanghaiji/Advanced-books
希望对你有所帮助,望采纳!



    public void refresh() throws BeansException, IllegalStateException {
        synchronized(this.startupShutdownMonitor) {
            this.prepareRefresh();
            ConfigurableListableBeanFactory beanFactory = this.obtainFreshBeanFactory();
            this.prepareBeanFactory(beanFactory);

            try {
                this.postProcessBeanFactory(beanFactory);
                this.invokeBeanFactoryPostProcessors(beanFactory);
                this.registerBeanPostProcessors(beanFactory);
                this.initMessageSource();
                this.initApplicationEventMulticaster();
                this.onRefresh();
                this.registerListeners();
                this.finishBeanFactoryInitialization(beanFactory);
                this.finishRefresh();
            } catch (BeansException var9) {
                if (this.logger.isWarnEnabled()) {
                    this.logger.warn("Exception encountered during context initialization - cancelling refresh attempt: " + var9);
                }

                this.destroyBeans();
                this.cancelRefresh(var9);
                throw var9;
            } finally {
                this.resetCommonCaches();
            }

        }
    }

Spring 启动的时候

简单的bean,单例非懒加载,启动就创建bean了,只有Aware接口,InitializingBean,PostConstruct这一类的注解才会被启动回调,
其他都是bean大多数是运行过程中起作用的