1 Spring简介
1.1 Spring概述
1.1.1 Spring是什么
官网 :Spring | Home
说明 :Spring是分层的JavaSE /EE应用full-stack轻量级开源框架,以IOC(Inverse of Control)和AOP(Aspect OrientedProgramming)为内核;其提供了展现层SpringMVC和持久层 SpringJDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。
1.1.2 Spring的优势
优点 :
方便解耦,简化开发 :通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。用户不必再为单例模式类、属性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。AOC的编程支持 :通过Spring的Aop功能,方便进行面向切片编程,许多不容易用传统OPP实现的功能可以通过AOP轻松实现。声明式事务的支持 :可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。方便程序的测试 :可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事。方便集成各种优秀的框架 :Spring对各种优秀框架的支持。降低JavaEEAPI的使用难度 :Spring对JavaEEAPI进行薄薄的封装层,使这些API的使用难度大大降低。Java源码是经典学习范例 :Spring的源代码设计精巧、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。
1.2 Spring系统架构
1.2.1 SpringFrameWork特性
说明 :SpringFramework是Spring基础框架,可以视为Spring基础设施,基本上任何其他Spring项目都是以SpringFramework为基础的。
特性 :
非侵入式:使用Spring Framework开发应用程序时,Spring对应用程序本身的结构影响非常小。对领域模型可以做到零污染;对功能性组件也只需要使用几个简单的注解进行标记,完全不会破坏原有结构,反而能将组件结构进一步简化,这使得SpringFramework开发应用程序时结构清晰,简洁优雅。 控制反转IOC:IOC全名为Inversion of Control,反转资源获取方向。把自己创建资源、向环境索要资源变成环境将资源准备好,我们享受资源注入 面向切片编程AOP:AOP全名为Aspect Oriented Programming,在不修改源代码的基础上增强代码功能。 容器:Spring IOC是一个容器,因为它包含并且管理组件对象的声明周期,组件享受到了容器化的管理,替 程序员屏蔽了组件创建过程中的大量细节,极大地降低了使用门槛,大幅度提高了开发效率 组件化:Spring实现了简单的组件配置组合成一个复杂的应用。 声明式:很多以前需要编写代码才能实现的功能,现在只需要声明需求即可由框架代为实现。 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库。而且Spring旗下的项目已经覆改了广泛领域,很多方面的功能性需求可以在Spring Framework的基础上全部使用Spring来实现。
1.2.2 SpringFramework五大功能模块
功能模块 功能介绍 Core Container 核心容器,在Spring环境下使用任何功能都必须基于IOC容器 AOP&Aspects 面向切面编程 Testing 提供了junit或TestNG测试框架的整合 Data Access/Integration 提供了对数据访问/集成的功能 Spring MVC 提供了面向web应用程序的集成功能