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

php网站开发用什么工具php 企业网站模板

php网站开发用什么工具,php 企业网站模板,积分商城网站开发,自己做网站是不是需要写代码上一篇我们一起学习了【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/264588/

相关文章:

  • 聊城做wap网站找谁网络营销最新案例
  • 北京两学一做网站国内网页设计培训
  • 深圳微信网站网络科技公司企业文化
  • 安阳网站建设哪家便宜成都网站建设 公司
  • 深圳网站设计公司排行营销自动化系统
  • 游戏代理0加盟费南阳seo优化公司
  • 好商网的网站可以做中英文切换吗简单logo设计图片
  • 创建私人网站深圳 旅游 网站建设
  • 软件下载网站怎么赚钱广西住房和城乡建设厅网站首页
  • 汽车网站开发思路跨境电商平台哪家最好
  • 襄阳网站seo开发网站的公司
  • 公司网站经典案例商城网站seo
  • 石家庄手机网站建设全国的网站建设
  • 张家港建网站费用网站实例
  • 营销网站建设规划概念开发帮官方网站
  • 上海市建设教育网站简单网站设计模板
  • 降龙网络专业做网站标识设计网站
  • 域名访问网站的知识淘宝网站开发的意义
  • 医院网站建设方案策划书深圳创业补贴2024
  • 工信部网站备案系统怎么注册申请公司邮箱
  • 网站开发的小结dedecms 生成网站地图
  • 寮步网站建设 优帮云wordpress使用自己的模板
  • 哪些行业做网站多重庆工业设计公司有哪些
  • 秦皇岛市网站制作公司南阳微网站制作
  • 做网站违法短链接生成器下载
  • 网站建设工作年报广州有名的广告公司
  • 大连做网站仟亿科技推广竞价的公司有哪些
  • 公司网站设计上海app制作
  • 制作网站的方法有哪些网站模板上传教程
  • 各省备案网站行业app开发公司