框架 - Spring 源码一步步深入(一)
2021-02-16 06:20
标签:alt coding mes 方法 can 很多 multicast aop show 很多人都想看spring源码,但是spring模块太多了,翻开一开头皮发麻,然后就放弃了,这里我带领大家一起看spring源码,推荐从ioc看起,spring ioc源码怎么看?我们一定要先找到一个头,最简单的办法就搞个demo,一层一层点进去看。 先从最基本的spring ioc开始,我们先建一个简单demo 实现 Spring配置 测试类 这里使用ClassPathXmlApplicationContext来启动ioc容器,我们比较关心它主要做了什么事。ClassPathXmlApplicationContext在初始化时,先初始父类,然后调用父类refresh()方法,refresh()中有一系列操作 异常 最后 后面章节我们详细讲解所有类和方法 框架 - Spring 源码一步步深入(一) 标签:alt coding mes 方法 can 很多 multicast aop show 原文地址:https://www.cnblogs.com/yuanjiangnan/p/12708210.html引文
spring 模块
spring-aop
spring-aspects
spring-beans
spring-context
spring-context-indexer
spring-context-support
spring-core
spring-expression
spring-instrument
spring-jcl
spring-jdbc
spring-jms
spring-messaging
spring-orm
spring-oxm
spring-test
spring-tx
spring-web
spring-webflux
spring-webmvc
spring-websocket
接口public interface UserService {
/** 方法 */
void show();
}
public class UserServiceImpl implements UserService {
@Override
public void show() {
System.out.println("UserServiceImpl - show");
}
}
路径:resources/application.xml
public class TestMain {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:application.xml");
UserService userService = context.getBean(UserService.class);
userService.show();
}
}
正常
1、prepareRefresh(); 准备工作
2、obtainFreshBeanFactory(); 解析配置文件组装bean定义
3、prepareBeanFactory(beanFactory); 设置BeanFactory的类加载器
4、postProcessBeanFactory(beanFactory); 埋点初始化,可以在初始化前做一些操作
5、invokeBeanFactoryPostProcessors(beanFactory); 调用BeanFactoryPostProcessor
6、registerBeanPostProcessors(beanFactory); 注册BeanPostProcessor 的实现类
7、initMessageSource(); 国际化
8、initApplicationEventMulticaster(); 初始化ApplicationContext 的事件广播器
9、onRefresh(); 具体的子类可以在这里初始化一些特殊的 Bean
10、registerListeners(); 注册事件监听器
11、finishBeanFactoryInitialization(beanFactory); 初始化所有的beans(lazy-init 的除外)
12、finishRefresh(); 广播事件,ApplicationContext初始化完成
1、destroyBeans(); 销毁已经初始化的Beans
2、cancelRefresh(ex); 设置活动标志false
resetCommonCaches(); 清理缓存
上一篇:Python的数据正态性检验
文章标题:框架 - Spring 源码一步步深入(一)
文章链接:http://soscw.com/index.php/essay/55972.html