Spring 技术内幕笔录(一)
Spring Framewok(Core):包含IOC容器设计,依赖控制反转模式实现,同时集成AOP功能,另外包含MVC,JDBC事务处理模块.
Spring Web Flow:Spring MVC基础上的Web工作流引擎
Spring的设计理念:面向接口开发而不是依赖于具体的产品实现
SpringIOC的作用:通过IOC容器实现依赖反转,把依赖关系的管理从Java对象中解放出来,交给IOC容器进行管理,从而实现对象直接关系的解耦
Spring IOC:包含了最为基本的IOC容器的BeanFactory的接口实现,不仅定义了IOC容器的最基本接口,还提供了一些其他的接口如XmlBeanFactory(通过xml配置bean),SimpleJndiBeanFactory,StaticListableBeanFatory等.并且还包含了IOC的高级形态ApplicationContext应用上下文供用户使用.如FileSystemXmlApplicationContext,ClassPathXmlApplicationContext
Spring AOP:围绕着AOP的增强功能,Spring集成了AspectJ作为AOP的一个特定的实现,并且还有JCM动态代理/CGLIB的基础上实现了AOP框架,还有声明式事务的处理模块, 如TransactionProxyFactoryBean声明式事务处理,并且可以通过AOP实现拦截器和各种Advice通知的过程
Spring MAC: 多数应用于Web项目,已DispatcherServlet为核心,实现了MVC模式,包括任何与Web容器的集成,Web请求的拦截处理和ModelAndView数据返回
Spring JDBC/ORM: 主要用来处理关系数据库的数据处理,因为单纯使用JDBC有点
繁琐.所以Spring对JDBC进行了封装,使其操作数据库更加简洁,另外封装了JDBC
Template作为模板类,还提供了RDBMS操作对象,可以使得应用面向对象的方法来
使用JDBC,正因为Spring集成了这些模板对象把一些通过的特性实现抽象到Spring
中去,更充分体现Spring平台的作用
Spring事务处理:Spring事务处理是一个通过Spring AOP实现自身的增强的典型
模块,同样把事务处理的主要过程抽象出来,通过AOP的切面增强实现了声明式事
务处理的功能,并且仅仅需要在IOC容器中对事务进行配置即可.
Spring远端调用: 通过Spring的封装,为应用屏蔽了各种通信和调用细节的实现,
同时,通过这一层封装可以使得应用选择各种不同的远端来实现
Spring 应用: 通过这个模块的支持,使得Springh应用可以便利和简洁地容纳
第三方的技术实现
Spring的最终目标: 简化应用开发的编程模型
个人感悟:
Spring的核心是IOC 和 AOP
IOC:spring去帮我们管理对象,利用DI依赖注入作为实现,从两个bean中进行结合使用,帮助我们管理对象实例,并处理实例之间的关系,好处使得对象与对象之间可以解耦,不在是需要一个类进行多个对象使用,仅仅是对对象的注入和配置即可进行使用.