简介:
1.spring 与unix、window这些操作在计算机系统中起到的作用是类似的
2.两大核心模块:IOC\AOP
3.为应用开发提供了许多现成的系统组件:事务处理、Web MV、JDBC、O/R映射、远程调用等,这些组件可以在开源软件和商业产品中自由选择,重复体现了Spring的开放性。
第1章:Spring的设计理念和整体构架
1.IOC(依赖反转)可以使原来的对象-对象关系,转化为对象-IOC容器-对象的关系
2.Spring的设计理念:面向接口开发而不依赖于具体的产品实现
3.Spring的构架图:
4.Spring的价值、优点:
1)是个非请侵入性框架,应用对框架依赖很小
2)Spinrg提供了一致的编程模型,使应用直接使用POJO开发,使之与运行环境(应用服务器)隔离开来
3)Spring推动应用的设计风格向面向对象及面向接口编程转变,提高了代码的重用性和可测试性
4)Spring可以支持多个体系结构的选择,可以切换ORM工具,从struts切换到Spring MVC
第2章 Spring Framework的核心:IoC容器的实现
1. 为什么需要依赖反转:为了避免由自身实现对象依赖(创建对象的引用),所导致的代码高度耦合。
2.实现方式:在Spring中,是通过IoC容器实现这个模式的
3.什么是IOC:控制反转是关于一个对象如何获取它锁依赖的对象的引用,在这里,反转指的是责任的反转。
4.哪些需要被反转控制:如果对面向对象系统中的对象进行简单分类,会发现除了一部分数据对象外,其它很大一部分对象是用来处理数据的(service、core、DAO)。这些对象并不常发生变化,是系统中基础的部分。同时,这些对象之间的相互依赖关系也比较稳定,适合由IOC容器来管理。
5.和EJB的区别:Spring降低了对J2EE技术规范的依赖,更轻,更简单。
6.通过IOC,可以使组件之间的关系更清晰,更便于管理,发生变化的时候,也不需要修改和编译Java源码,还可以结合OSGi实现热部署
7.Ioc容器的设计与实现:围绕着BeanFactory和ApplicationContent
8.IOC容器的启动过程:BeanDefinition的resouce定位、载入、注册
9.IOC容器初始化和依赖注入是2个独立的过程,依赖注入一般发生在第一次向容器索取Bean的时候
10.spring生成Bean有2种方式:反射、cglib。cgLib框架通过直接操作字节码,效率比较高
11.