Spring Boot-3-AbstractApplicationContext

AbstractApplicationContext是application context的第一个实现者,还是被定义为抽象的,之所以定义成抽象的,是因为他不必、不允许被实例化,不能直接被其他类聚合(他的子类可以)。

始自2001年1月21日
是org.springframework.context.ApplicationContext接口的抽象实现,不持有存储配置。简单实现公共application context的功能。使用模板方式设计模式,要求具体的子类实现抽象方法。

与空白BeanFactory相比,一个ApplicationContext应该检测其内部bean factory里的特殊bean:因此,这些bean被自动注册了
org.springframework.beans.factory.config.BeanFactoryPostProcessor
org.springframework.beans.factory.config.BeanPostProcessor
org.springframework.context.ApplicationListener
这些都在context里被定义为bean了。

一个org.springframework.context.MessageSource也被提供给了context,命名为messageSource。此外,message resolution被委托给了父context。同时,一个名为applicationEventMulticaster的multicaster在context中以bean的形式提供,并提供默认实现SimpleApplicationEventMulticaster。

一、容器的父子关系

在AbstractApplicationContext中有一个成员变量:

	@Nullable
	private ApplicationContext parent;

用来表示其父application context,这也是Spring的设计,在Spring Boot启动时,会创建2个application context,父application context是装载Spring bean的,字容器用来装载应用bean,子能访问父,父不访问子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值