Spring到SpringBoot训练营笔记 PDF 下载
Spring到SpringBoot训练营笔记
Spring到SpringBoot训练营笔记 PDF 下载
主要内容:
相关截图:
主要内容:
IOC容器概述
ApplicationContext接口相当于负责bean的初始化、配置和组装的IoC容器.
Spring为ApplicationContext提供了一些开箱即用的实现, 独立的应用可以使用
ClassPathXmlApplicationContext或者FileSystemXmlApplicationContext,web应用在web.xml配置监
听,提供xml位置和org.springframework.web.context.ContextLoaderListener即可初始化
WebApplicationContextIoC容器.
配置元数据
配置元数据配置了应用中实例的实例化、配置以及组装的规则,SpringIoC容器通过此配置进行管理
Bean. 配置元数据有以下几种方式:
基于XML配置: 清晰明了,简单易用
基于Java代码配置:无xml,通过 @Configuration 来声明配置、对象实例化与依赖关系
基于Java注解配置:少量的XML( <context:annotation-config/> ),通过注解声明实例化类与依
赖关系
后续的分析基于XML配置, 与Java代码和注解大体上的机制是一样
实例化容器
实例化容器非常简单,只需要提供本地配置路径或者根据 ApplicationContext 的构造器提供相应的资
源(Spring的另一个重要抽象)即可.
ApplicationContext context = new
ClassPathXmlApplicationContext("application.xml");
refresh()方法的实现代码如下
public void refresh() throws BeansException, IllegalStateException {
synchronized(this.startupShutdownMonitor) {this.prepareRefresh(); // 准备工作
ConfigurableListableBeanFactory beanFactory =this.obtainFreshBeanFactory(); // 获取ConfigurableListableBeanFactory最终的目的是
DefaultListableBeanFactorythis.prepareBeanFactory(beanFactory); // 准备bean工厂try {this.postProcessBeanFactory(beanFactory); // 一个空的实现,注意这里的
spring版本号为:5.3xthis.invokeBeanFactoryPostProcessors(beanFactory); // 注册bean的工厂this.registerBeanPostProcessors(beanFactory);this.initMessageSource(); // Spring 从所有的 @Bean 定义中抽取出来了
BeanPostProcessor,然后都注册进 beanPostProcessors,等待后面的的顺序调用 注册
BeanPostProcessorthis.initApplicationEventMulticaster(); // 初始化事件监听多路广播器this.onRefresh(); // 一个空的实现this.registerListeners(); // 注册监听器this.finishBeanFactoryInitialization(beanFactory); // 到了spring加载流
程最复杂的一步,开始实例化所有的bdthis.finishRefresh();// 刷新完成工作
} catch (BeansException var9) {if (this.logger.isWarnEnabled()) {this.logger.warn("Exception encountered during context
initialization - cancelling refresh attempt: " + var9);
}this.destroyBeans();this.cancelRefresh(var9);throw var9;
} finally {this.resetCommonCaches();
}
}
}
------分隔线----------------------------
- 关注Java1234微信公众号
- 栏目列表
- 推荐资料
-
JAVA面试编程题 PDF 下载
JAVA面试编程题 PDF 下载...
-
最新企业笔试面试题大全 PDF 下载
最新企业笔试面试题大全 PDF 下载...
-
华为Java笔试题(附答案) PDF 下载
华为Java笔试题(附答案) PDF 下载...
-
广东上下五千年Java笔试题 PDF 下载
广东上下五千年Java笔试题 PDF 下载...
-
高亚Java笔试题 PDF 下载
高亚Java笔试题 PDF 下载...
-
复习题南航考试试题库(配答案) P
复习题南航考试试题库(配答案) PDF 下载...
-
JAVA面试编程题 PDF 下载
锋哥公众号
锋哥微信
关注公众号
【Java资料站】
回复 666
获取
66套java
从菜鸡到大神
项目实战课程
【Java资料站】
回复 666
获取
66套java
从菜鸡到大神
项目实战课程