哇!!!找了好久Java的课程

找了那么久的课程 原来在这里 ,点进去看看Java课程吗?都没有这么便宜,这么好的视频,这么详细的讲解,就在这里,我赢职场

AbstractApplicationContext的refresh函数载入Bean定义过程:

Spring IoC容器对Bean定义资源的载入是从refresh()函数开始的,refresh()是一个模板方法,refresh()方法的作用是:在创建IoC容器前,如果已经有容器存在,则需要把已有的容器销毁和关闭,以保证在refresh之后使用的是新建立起来的IoC容器。refresh的作用类似于对IoC容器的重启,在新建立好的容器中对容器进行初始化,对Bean定义资源进行载入

FileSystemXmlApplicationContext通过调用其父类AbstractApplicationContext的refresh()函数启动整个IoC容器对Bean定义的载入过程:想要了解更多ioc点击http://dwz.cn/Xr73V

 

1      public void refresh() throws BeansException, IllegalStateException {  

2        synchronized (this.startupShutdownMonitor) { 

3            //调用容器准备刷新的方法,获取容器的当时时间,同时给容器设置同步标识

4            prepareRefresh();  

5            //告诉子类启动refreshBeanFactory()方法,Bean定义资源文件的载入从  

6           //子类的refreshBeanFactory()方法启动  

7            ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();  

8            //为BeanFactory配置容器特性,例如类加载器、事件处理器等  

9            prepareBeanFactory(beanFactory);  

10            try {  

11                //为容器的某些子类指定特殊的BeanPost事件处理器  

12                postProcessBeanFactory(beanFactory);  

13                //调用所有注册的BeanFactoryPostProcessor的Bean  

14                invokeBeanFactoryPostProcessors(beanFactory);  

15                //为BeanFactory注册BeanPost事件处理器.  

16                //BeanPostProcessor是Bean后置处理器,用于监听容器触发的事件  

17                registerBeanPostProcessors(beanFactory);  

18                //初始化信息源,和国际化相关.  

19                initMessageSource();  

20                //初始化容器事件传播器.  

21                initApplicationEventMulticaster();  

22                //调用子类的某些特殊Bean初始化方法  

23                onRefresh();  

24                //为事件传播器注册事件监听器.  

25                registerListeners();  

26                //初始化所有剩余的单态Bean.  

27                finishBeanFactoryInitialization(beanFactory);  

28                //初始化容器的生命周期事件处理器,并发布容器的生命周期事件  

29                finishRefresh();  

30            }  

31            catch (BeansException ex) {  

32                //销毁以创建的单态Bean  

33                destroyBeans();  

34                //取消refresh操作,重置容器的同步标识.  

35                cancelRefresh(ex);  

36                throw ex;  

37            }  

38        }  

39    }

更多详细资料请到http://dwz.cn/Xr73V

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值