简单介绍
框架介绍Spring是一个开源框架,为企业开发提供一个轻量级的解决方案,有基于Ioc(控制反转)的核心机制,以及AOP(面向切面编程)的思想,是一个优秀的WebMVC框架,它贯穿于各层,降低了各层组件的耦合度
三个小定义
轻量级
划分一个应用是否属于轻量级还是重量级,主要看它使用了多少服务,使用的服务越多,容器要为普通Java对象做的工作就越多,必然会影响到应用的发布时间或者是运行性能。对于Spring容器,它提供了很多服务,这些服务默认是关闭的,应用对需要的服务可以现用现拿。而且,Spring是无侵入性的可扩展框架,其应用中的对象不依赖于Spring具体的类。
IOC(控制反转)
控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的,这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
AOP(面向切面编程)
AOP引入了分离关注点形成模块化的机制来解决横切关注点的问题。所谓的关注点指的是一个特定的概念、目标或可实现域。系统正是由一组关注点组成,典型的软件系统由多个系统级关注点和核心级关注点组成。核心关注点指业务处理的主要过程,而系统级关注点是与核心业务无关,一般横切多个核心关注点,为这些核心关注点提供服务,如日志记录,安全检测、事务处理等。AOP和OOP互为补充,从两种不同的角度去认识事物.
AOP就是将那些与业务无关,却为业务处理模块共同服务的诸如并发访问控制的一些系统关注点(通用的功能需求),从不相关的的类之间分离出来,在某个地方集中编写,组织和维护,并可以通过如AspectJ等工具将它们织入到系统出供业务对象使用。这是系统建模中抽象层次的进一步提升,可以得到结构清晰、模块化强、代码问耦合度低、易于重用和维护的系统。
体系结构
七个定义良好的模块组成,既可独立存在,又可联合使用。
(1)Spring Core:核心容器提供了Spring的基本功能。核心容器的核心功能是用Ioc容器来管理类的依赖关系。Spring采用的模式使调用者不理会被调用者的实例的创建,由Spring容器负责被调用者实例的创建和维护。需要时注入给调用者
(2)Spring AOP:Spring的AOP模块提供了面向切面编程的支持。SpringAOP采用的是纯Java实现。SpringAOP采用基于代理的AOP实现方案,AOP代理由Ioc容器负责生成、管理,依赖关系也一并由Ioc容器管理,尽管如此,SpringIoc容器并不依赖于AOP
(3)Spring ORM;提供了与多个第三方持久层框架的良好整合。
(4)Spring DAO:Spring进一步简化DAO开发步骤,能以一致的方式使用数据库访问技术,用统一的方式调用事务管理,避免具体的实现侵入业务逻辑层的代码中。
(5)Spring Context:它是一个配置文件,为Spring提供上下文信息,提供了框架式的对象访问方法,Context为Spring提供了一些服务支持,如对国际化、电子邮件的校验和调度功能
(6)Spring Web:提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行Ioc容器初始化和针对Web的applictionContext的初始化
(7)Spring MVC:提供了Web应用的MVC的实现。Spring的MVC框架并不是仅仅提供了一种传统的实现,它提供了一种清晰的分离模型。在领域模型代码和Web Form之间。
一图胜过千言万语:
总结:
看了Spring框架的强大真是有点小激动,虽然对一些理论还不是太理解,相信这core、AOP、ORM、dao、context、web、mvc这七个会越来越熟悉的