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

百度如何建网站群河南省建设工程信息网查询

百度如何建网站群,河南省建设工程信息网查询,phpcms v9 实现网站搜索,怎么进不了深圳市建设局网站1、Refresh方法简介 refresh 是Spring的核心流程#xff0c;主要包含13个方法。这13个方法中主要又包含3个方法。 如图#xff1a; 其中标记星号的代表主要的方法。从方法中后面的分支数据也可以看出#xff0c;主要的方法中存在大量的逻辑处理#xff0c;后面我们会慢慢分…1、Refresh方法简介 refresh 是Spring的核心流程主要包含13个方法。这13个方法中主要又包含3个方法。 如图 其中标记星号的代表主要的方法。从方法中后面的分支数据也可以看出主要的方法中存在大量的逻辑处理后面我们会慢慢分解开来梳理。 本章内容主要梳理前四个方法。 2、prepareRefresh 初始化上下文的环境 2.1 初始化标识 // Switch to active. this.startupDate System.currentTimeMillis(); this.closed.set(false); this.active.set(true);if (logger.isDebugEnabled()) {if (logger.isTraceEnabled()) {logger.trace(Refreshing this);}else {logger.debug(Refreshing getDisplayName());} }将当前Context环境标记成活跃状态关闭状态置为false。其中this 就是AnnotationConfigApplicationContext 。如图 2.2 校验所有的属性并标记 // Initialize any placeholder property sources in the context environment. initPropertySources();// Validate that all properties marked as required are resolvable: // see ConfigurablePropertyResolver#setRequiredProperties getEnvironment().validateRequiredProperties();initPropertySources 初始化上下文环境中的placeholder property sources 主要是被子类实现用默认空实现。这是一个钩子方法。 getEnvironment() 获取当前的上下文所需要的环境ConfigurableEnvironment 。默认会创建一个标准的环境。此环境可以获取到环境的变量和属性。 validateRequiredProperties() 获取所有的必须的属性将其保存到MissingRequiredPropertiesException 对象中如果环境运行没有检测注册的必要属性就会抛出异常。 2.3 初始化监听器和事件 初始化监听器和事件。为后面发布事件做好准备。 3、obtainFreshBeanFactory() 获取一个内部的BeanFactory 3.1 刷新当前工厂 当前的工厂就是DefaultListableBeanFactory GenericApplicationContext 的空参构造函数就会创建工厂。 然后设置工厂的唯一标识SerializationId 3.2 返回当前工厂 工厂返回的是一个接口ConfigurableListableBeanFactory 实现还是3.1 中的DefaultListableBeanFactory 4、prepareBeanFactory() 配置工厂标准环境的一些特性。 该方法大致40行代码左右主要可以分为5部分 忽略指定接口 注册解析依赖 添加BeanPostProcessorBPP 注册环境默认的单例 其他特性 此分类会打乱该方法部分代码的顺序部分代码执行会有先后的顺序要求。下面分析将按照分类梳理。 4.1 忽略指定接口 beanFactory.ignoreDependencyInterface(xxxx.class)忽略的接口有: EnvironmentAware.class EmbeddedValueResolverAware.class ResourceLoaderAware.class ApplicationEventPublisherAware.class MessageSourceAware.class ApplicationContextAware.clas ApplicationStartupAware.class 忽略指定的xxxxAware接口。因为xxxxAware接口是对外提供扩展将xxxx本身暴露出去。所以BeanFactory处理的时候无需关心这些接口。只要关注实际的xxx接口本身就好了。 4.2 注册解析依赖 BeanFactory.class、ResourceLoader.class、 ApplicationEventPublisher.class、 ApplicationContext.class的处理军依赖当前的Bean工厂所以建立对应关系。本质上就是维护一个一一对应的map集合。方便使用时直接获取。 4.3 添加BPP BeanPostProcessor 是Bean初始化的后置处理器。可以再Bean初始化前后增强。 new ApplicationContextAwareProcessor(this) 上下文Aware处理器 Bean初始化之前处理实现Aware接口的类为其设置环境和解析器 new ApplicationListenerDetector(this) 监听器的探测器 该类实现了DestructionAwareBeanPostProcessor MergedBeanDefinitionPostProcessor 接口。分别在Bean定义后合并、Bean实例化之后、Bean销毁之前调用。 如果当前Bean是ApplicationListener 就会执行相应的逻辑。 new LoadTimeWeaverAwareProcessor(beanFactory) 编译时的代码织入 在Bean初始化之前为Bean设置LoadTimeWeaver 4.4 注册默认的单例 注册的单例 environment 标准的配置环境 systemProperties 系统属性 systemEnvironment 系统的环境 applicationStartup 启动的Bean 4.5 其他的特性 为BeanFactory设置其他特性 beanFactory.setBeanClassLoader(getClassLoader());设置类加载器用来加载一些配置文件等信息 beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader()))设置Bean的EL表达式的解析器 beanFactory.addPropertyEditorRegistrar(new ResourceEditorRegistrar(this, getEnvironment()));设置属性编辑注册器。 处理字符串和日期的对应关系时我们可以注册String和Date的对应关系等。 5、postProcessBeanFactory(beanFactory) 给子类预留的钩子函数默认空实现。springboot启动的时候就会用到增加web容器的处理器。
http://www.zqtcl.cn/news/526906/

相关文章:

  • 红孩子母婴网站开发背景建网站可行性分析
  • 北京 网站设计飞沐商城网站技术方案
  • 大连网站建设价格低怎么加入网站做微商城
  • 惠山网页制作北京优化推广
  • 武威做网站网站流量分析怎么做
  • 用动态和静态设计一个网站cname wordpress
  • php装修门户网站源码PHP是做网站最好的
  • 莆田哪里有网站开发北京大企业公司排名
  • 网站建设运营的成本丰宁县有做网站的吗
  • 网站建设如何上传文件中小企业网站建设好么
  • 安徽建设部网站国际网站 建设
  • 沈阳开发网站小程序名称大全
  • 做网站大概价格西安做网站电话
  • 前端做微网站台州做网站哪家公司好
  • 电信改公网ip可以做网站吗销售平台建设方案
  • 免费的公司网站怎么做网站建设招聘需求
  • 徐州金桥建设监理有限公司网站那个网站做系统好
  • 浙江网站制作做一个自我介绍的网页
  • 郑州做网站公司有多少网站建设需要自备什么
  • 齐齐哈尔网站seo重庆旅游
  • 顺德品牌网站建设信息网络编程课程
  • 广西南宁建设职业学图书馆网站wordpress 黑色主题
  • 网站建设需要准备那些内容阜阳微商城网站建设
  • flash全屏网站模板企业网站示例
  • 制作手机端网站开发厦门网站设计定制
  • 佛山网站开发公司做网站在什么地方发帖子呢
  • 无网站可以做cpc吗wordpress 12张表
  • 有些中小网站cnzz网站排名是怎么做的
  • 深圳做微商网站的公司高端做网站价格
  • 在线原型设计网站wordpress菜单页内跳转