Spring的源码解读和设计详析
各位读者,大家好呀,我回来了,最近还在学Spring,之前因为在搭建Spring的过程中,Eclipse出现了bug,让我郁闷了,又因为一些小事,所以一下子又耽误了一些时间。直到昨天才把Eclipse卸载后重新下载了,才没有再出现BUG。
这次事故让我发现,我应该也要用一下IDEA了,虽然只能用社区版,但是真的不想再出现这样的是事故了。
学编程真的是个耐心活,磨练心性呀!
好了,让我们进入主题吧!这次分享的内容是Spring的环境搭建。
大部分人都知道Spring的运用,但是却不知道是怎么实现,它的原理是什么样的,这次课程的分享就是解决这些问题。
首先让我们看一下课程的部分目录:
- 课程环境搭建和研究方法
- Spring IoC容器的实现方式
- BeanFactory与ApplicationContext源码详解
- 容器初始化
- 依赖注入
- FactoryBean详解
- Spring AOP实现原理探究
- 动态代理与动态字节码的增强
- Spring对于数据库的支持以及实现方式
- 事务处理实现手段
- TransactionDefinition与TransactionStatus
- PlatformTansactionManager
- ThreadLocal模式在Spring中的应用
研究方法主要研究实现流程和类的使用。
第二部分是重点,控制反转,这个是最为精华的内容,必须要花最多时间研究。
BeanFactory是一个接口,延伸出ApplicationContext,对这些概念和源码进行解读。
容器的初始化也是重要的一部分内容,但这个我们在运用的时候感受不到。
依赖注入和容器初始化是相辅相成的,和容器初始化一样。
FactoryBean和BeanFactory很像,概念完全不一样,,但两者很容易搞混,Factory最终落实到Bean,Bean最后落实到Factory。
上一板块主要是涉及IoC的内容。
下一部分,是关于SpringAOP是如何实现的,面向切面。还有Java的动态代理与动态字节码的增强,cglib或者dynamic。
Spring对于数据库的支持和实现方式,Spring和各种框架是怎么进行整合的?
事务处理实现手段,弄一下Spring对于事务处理是如何实现的。
事务的定义和事物的状态,还有事务的管理器。