文档章节

spring application之AbstractApplicationContext

my_juke
 my_juke
发布于 06/07 22:02
字数 270
阅读 13
收藏 2

org.springframework.context.support.AbstractApplicationContext

类图,用2张图拼接而成

下面说一下各个类(接口)的作用

Closeble,AutoCloseble

Closeble jdk提供的,基于流的关闭
AutoCloseble JDK7,支持try() 自动关闭

org.springframework.context.Lifecycle 生命周期,启动与关闭

提供start()与stop()方法

org.springframework.context.ApplicationEventPublisher

事件发布体系

SimpleApplicationEventMulticaster负责注册,删除,与发布事件,类似于观察者模式。注册事件支持beanName,所以在创建SimpleApplicationEventMulticaster``需要一个BeanFactory

ConfigurableApplicationContext

主要有以下几个方法:

void setEnvironment(ConfigurableEnvironment environment);
void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor);//BeanFactory后置处理器
void addApplicationListener(ApplicationListener<?> listener);
void addProtocolResolver(ProtocolResolver resolver);
void refresh() throws BeansException, IllegalStateException;
void registerShutdownHook();
void close();

AbstractApplicationContext

核心方法: public void refresh() throws BeansException, IllegalStateException;

prepareRefresh();//刷新准备,子类覆写
ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(); //组装BeanFactory
prepareBeanFactory(beanFactory);//解决BeanFactory的Bean依赖,获取并设置ApplicationListern
postProcessBeanFactory(beanFactory); //子类覆写
invokeBeanFactoryPostProcessors(beanFactory);//处理BeanFacory后置处理器 registerBeanPostProcessors(beanFactory); //注册Bean后置处理器
initMessageSource();//i18n initApplicationEventMulticaster();//事件广播器

© 著作权归作者所有

my_juke
粉丝 4
博文 34
码字总数 22261
作品 0
深圳
私信 提问
【Spring源码分析系列】ApplicationContext 相关接口架构分析

在使用Spring的时候,我们经常需要先得到一个ApplicationContext对象,然后从该对象中获取我们配置的Bean对象。ApplicationContext隶属于org.springframework.context,是SpringFramework中B...

群星纪元
04/28
8
0
Spring核心源码:ApplicationContext

废话 spring版本:4.0.6 随便做了这么多年的spring,但是源码就只阅读过 shiro的。一直想去读一下spring,mybatis,netty,这些结构优美的开源框架的源码。 核心包: spring-context:spring的上...

GITTODO
2018/04/25
75
0
spring源码-spring上下文与代理模式

1.导语 2."上下文"的接口 AplicationContext EnvironmentCapable ListableBeanFactory HierarchicalBeanFactory ApplicationEventPublisher ResourcePatternResolver MessageSource 从上面的......

fribble_zwj
2018/11/08
0
0
向Spring大佬低头——大量源码流出解析

用Spring框架做了几年的开发,只停留在会用的阶段上,然而Spring的设计思想和原理确实一个巨大的宝库。大部分人仅仅知道怎么去配,或着加上什么属性就能达到什么效果,这些东西都可以通过查文...

Java团长17
2018/07/11
0
0
Spring 的 xml文件的获取

Spring的文件获取 1、spring的获取配置文件的xml文件 在初始化一个spring的context的时候,会执行一系列由子到父的构造函数初始化,我的这个文件定位就是在构造函数中进行的 当子类一直调用父...

zswitos
2015/05/18
31
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
39分钟前
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
41分钟前
7
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
43分钟前
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
49分钟前
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部