当前位置: 首页 > news >正文

做最好言情网站松滋住房和城乡建设局网站

做最好言情网站,松滋住房和城乡建设局网站,wordpress有赞支付插件,凡科做网站怎么样上一篇我们一起学习了【spring】FileSystemXmlApplicationContext 类学习 AbstractApplicationContext 的refresh() 方法介绍 AbstractApplicationContext的refresh()方法仍然是整个Spring应用程序上下文初始化的核心流程入口。大体上的刷新生命周期依然保持一致。 refresh(…

 上一篇我们一起学习了【spring】FileSystemXmlApplicationContext 类学习

AbstractApplicationContext 的refresh() 方法介绍

AbstractApplicationContextrefresh()方法仍然是整个Spring应用程序上下文初始化的核心流程入口。大体上的刷新生命周期依然保持一致。

refresh() 方法的执行流程是一个复杂的过程,它涉及到多个方法的调用和多个步骤的执行。在实际开发中,我们通常不需要直接调用 refresh() 方法,而是通过调用 AbstractApplicationContext 类的子类的 refresh() 方法来刷新应用上下文。

源码截图

注释后的源码


public void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {// 调用容器准备刷新,获取容器的当前时间,同时给容器设置同步标识prepareRefresh();// 告诉子类启动 refreshBeanFactory() 方法,BeanDefinition 资源文件的载入从子类的 refreshBeanFactory() 方法启动开始ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();// 为 BeanFactory 配置容器特性,例如类加载器、事件处理器等prepareBeanFactory(beanFactory);try {// 为容器的某些子类指定特殊的 BeanPost 事件处理器postProcessBeanFactory(beanFactory);// 调用所有注册的 BeanFactoryPostProcessor 的 BeaninvokeBeanFactoryPostProcessors(beanFactory);// 为 BeanFactory 注册 BeanPost 事件处理器.// BeanPostProcessor 是 Bean 后置处理器,用于监听容器触发的事件registerBeanPostProcessors(beanFactory);// 初始化信息源,和国际化相关.initMessageSource();// 初始化容器事件传播器initApplicationEventMulticaster();// 调用子类的某些特殊 Bean 初始化方法onRefresh();// 为事件传播器注册事件监听器.registerListeners();// 初始化 Bean,并对 lazy-init 属性进行处理finishBeanFactoryInitialization(beanFactory);// 初始化容器的生命周期事件处理器,并发布容器的生命周期事件finishRefresh();}catch (BeansException ex) {// 销毁以创建的单态 BeandestroyBeans();// 取消 refresh 操作,重置容器的同步标识.cancelRefresh(ex);throw ex;}}
}

对上面代码的解释

  1. prepareRefresh():做一些刷新前的准备工作,例如设置启动时间戳等。

  2. obtainFreshBeanFactory():获取或创建一个新的ConfigurableListableBeanFactory,它是Spring容器的基础,用于存储和管理Bean的定义与实例。

  3. prepareBeanFactory(beanFactory):对BeanFactory进行必要的配置,包括设置默认属性、添加系统属性以及设置类加载器等。

  4. postProcessBeanFactory(beanFactory):允许子类对BeanFactory进行额外的后期处理。

  5. invokeBeanFactoryPostProcessors(beanFactory):调用BeanFactory后处理器,它们可以修改BeanDefinition对象,影响容器内Bean的定义和初始化。

  6. registerBeanPostProcessors(beanFactory):注册Bean后处理器,这些处理器可以在Bean实例化前后进行拦截处理。

  7. initMessageSource() 和 initApplicationEventMulticaster():分别初始化国际化消息源和应用事件广播器。

  8. onRefresh():提供给子类覆盖,以便在刷新过程中执行特定的初始化动作。

  9. registerListeners():注册监听器,这些监听器会在容器中监听特定的事件。

  10. finishBeanFactoryInitialization(beanFactory):完成剩余所有非懒加载的单例Bean的初始化工作。

  11. finishRefresh():刷新过程的最后阶段,发布一个ContextRefreshedEvent事件,表示ApplicationContext已完成刷新,并且所有Bean都已准备好使用。




http://www.yayakq.cn/news/683267/

相关文章:

  • 中国建设银行网站首hao123主页是哪个软件
  • 贵金属网站模板安徽品质网站建设创新
  • 5151ppt网站建设如何建设公司的网站
  • 小米网站制作网站后台怎么做飘窗
  • 网站制作常用代码wordpress主题样式乱
  • 手机网站 微信小程序宿州网站网站建设
  • 做网站公司青浦新能源汽车车型
  • 网站验收指标有做思维图的网站吗
  • 网站加载速度影响因素公共服务平台网站建设方案
  • 抖音推广怎么收费seo博客优化
  • 无锡模板网站太原网站优化排名
  • 北京哪家网站建设公司比较好wordpress后台排版错乱
  • 设计建立企业网站最佳的公司网站开发说明书
  • 上海企业建站流程最好用的手机优化软件
  • 企业招聘网站排行榜张掖网站制作
  • 网站排名优化软件学校网站建设调查表
  • WordPress网站转APP插件优化大师有必要花钱吗
  • 景观设计师做交通分析常用网站培训机构哪家最好
  • 做网站策划用什么软件网站 服务器 域名
  • 江西响应式网站建设哪家好做简单视频网站自己看
  • 南部 网站 建设浙江省建设项目招投标网站
  • 云龙网站开发做网站怎么做多少钱
  • 邯郸菜鸟网站建设会员管理系统怎么做
  • 哪些网站是用asp.net开发的网站开发合同范本大全
  • 河南网站优化要多少钱电商设计公司有哪些
  • wordpress小图标网站2345应用商店
  • 丹阳网站优化网页界面设计的理念
  • 营销型网站制作wordpress 资源
  • 企业建设网站的作用昆明网站建设制作
  • 网站建设需要什么软件做美食下载什么网站