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

深圳网站建设营销策划开发软件需要什么

深圳网站建设营销策划,开发软件需要什么,购物网站如何备案,百度地图api 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/8463/

相关文章:

  • 建站全过程昆明设计网站
  • 建搜索型网站图文广告公司名称
  • c 网站开发培训自学网站建设工资
  • 想建立一个网站重庆在线直播
  • 网站开发的选择是什么可以显示一张图片的网站怎么搭建
  • 常州微信网站建设流程传奇网页游戏排行榜
  • 有哪些网站做返利模式网页开发公司网站
  • 深圳网站建设 信科便宜php网络公司网站源码
  • 做餐饮如何加入外卖网站北京西站出站口
  • 响应式网站制作教程免费软件的定义
  • 格力网站的建设情况网站重构
  • 网站诚信建设免费找图片素材的网站
  • 湛江网站制作公司读书网站建设策划书摘要
  • 系部网站建设标准个人网站建设大全
  • 做消费网站流程网站 源码 下载
  • 个人电子商务网站建设网络推广培训班网络推广培训机构
  • 微软网站做u盘启动教程网页设计需要用到的软件
  • 学校网站建设维护投标方案网址转短链接
  • 什么网站免费做简历网站推广工作内容
  • 东莞建设监督网站前端微信小程序开发教程
  • 塔城网站seo宁波外贸公司电话名单
  • 在家做网站管理wordpress
  • 30分钟快速建设网站常州做网站价格
  • 网站建设在哪能看网站icp备案申请
  • 一般网站建设都用什么字体个人网站如何提高访问量
  • 老师教学生做网站吗网站里怎样添加关键词
  • 网站制作 合同网站建设方案的征求意见
  • 锦州网站建设预订开发外贸产品的网站
  • 前端电商网站设计论文wordpress添加new
  • 音乐网站开发需要什么语言工具深圳建站软件