作者只是纯粹做做笔记,还有对于代码的另类理解,艾瑞巴蒂,请多多care!!!
第一章
1.1 Spring 的整体框架
二话不说上图说话,相信都见过。
对于上图的理解,我小生只能略知。。。
1.Core Container
Core,包含Spring框架的基本核心工具类,上图其他的框框,框起来的组件都是在这个基础上建立起来的。你也可以在自己的项目中用到这个里面的类。
Beans,也是核心一部分,里面的类的作用就是:读取配置文件、创建和管理bean,对bean进行控制反转和依赖注入的作用。
Context,是在以上两个模块基础上建立上来的。说什么ApplicationContext接口是Context模块的关键(我估摸这因为是封装了以上两个模块的代码,提供工具方法,待定)。
Expression Language 模块。。。待定。
2.Data Access/Integration
简而言之就是对数据库进行操作的组件,还有一些对象映射。其他的待定。。。。
3.Web
Web 模块对于文件上传,以及servlet listenters 的监听器。
Web-servlet 模块中对于Spring-mvc的支持类。
Web-struts 也就是对Struts的原生支持。
Web-Porlet 待定。
4.AOP
提供AOP 的支持类。
5.Test
提供Junit和TestNG对于spring代码的测试。
1.2 环境的搭建
https://github.com/spring-projects/spring-framework.git
源码地址已经提供,然后把项目down下来,然后使用自己的IDE导入。Grade导入
问题来了会报错。
1.cglib和objenesis的编译错误。
因为两个jar包被单独编译了,所以你要去官网下载并导入进去。
2.aspects模块编译错误
错误原因是里面存在AspectJ的关键字,所以需要AspectJ来编译。
修改这个模块的编译器。去AspectJ 官网下载jar包安装,然后使用IDEA 配置spring-aspects-main的编译器。达到编译效果,然后不报错。