spring源码解析前瞻
Posted 小亮的BLOG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring源码解析前瞻相关的知识,希望对你有一定的参考价值。
IOC、AOP是spring的2个核心特性。理解这2个特性,有助于更好的解析源码。
IOC:控制反转。把创建对象的权利交给框架,这有利于解耦。
public class PageController { public String showPage(){ PageService page = new PageService(); return ""; } }
原先PageController中使用PageService,需要自己new创建对象,使用spring后,由容器创建PageService对象,并依赖注入到PageController对象。
@component public class PageController { @Autowire private PageService pageService; public String showPage(){ return ""; } }
AOP:面向切面。将程序功能中的频繁出现或者与主业务逻辑代码相关度不高的代码抽离出来,通过切面编程的方式在想要调用的时候引入调用的思想。在实际编程中,我们通常会遇到一些交叉业务逻辑(比如:日志,事务,安全等等),这是我们就可以封装一个封面,然后注入到目标对象(具体的业务逻辑)中去。
源码解析顺序
1、配置文件读取流程
2、单例Bean的初始化过程
3、FactoryBean实例化过程
4、详解Spring Bean生命周期
5、AOP 源码解析1——配置文件读取
6、AOP 源码解析2——动态代理
以上是关于spring源码解析前瞻的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段