Spring 学习笔记(一)——Spring 基本概念和体系概览

Spring 简介

Spring 为企业级开发提供了一个轻量级的解决方案,主要包含

  •   基于依赖注入核心功能;
  •   声明式的面向切面编程(AOP)支持;
  •   与多种持久层技术的整合;
  •   独立的Web MVC框架

简而言之,Spring 是一个轻量级的IoC(控制反转)和AOP(面向切面)的容器框架。

  •   控制反转:Spring通过一种被称作控制反转的技术促进了松耦合。

                  即一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或查找依赖对象。

  •   面向切面:允许通过分离应用的业务逻辑与系统及服务进行内聚性的开发。
  •   容器:Spring包含并管理应用对象的配置和声明周期,在这个意义上Spring只是一种容器,开发者可以配置自己的每个Bean

                  可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及配置这些Bean之间时如何相互关联的。

 

Spring 体系结构

  关于Spring框架各模块介绍如下:

    (1)Spring核心模块

        实现了IoC功能,将类和类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作。

        BeanFactory接口时Spring框架的核心接口,实现了容器的许多核心功能。

        Context模块构建于核心模块之上,扩展 了BeanFactory的功能,添加了il8n国际化、Bean生命周期控制、框架事件体系、资源加载透明化等多项功能。

        表达式语言是统一表达式语言(unified EL)的一个拓展,用于查询和管理运行期的对象。

 

    (2)AOP模块

        在该模块中,Spring提供了满足AOP Alliance规范的实现,还整合了AspectJ这种AOP语言级框架。

        <Java 5.0引入java.lang.instrument,允许在JVM启动时启用一个代理类,通过该代理类在运行期间修改类的字节码,改变一个类的功能,实现AOP的功能>

 

    (3)数据访问和集成模块

        Spring在DAO的抽象层面,建立了一套面向DAO层统一的异常体系。

        同时将各种访问数据的检查型异常转化为非检查型异常,为整合各种持久层框架提供基础。

        Spring建立起了和数据形式以及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。

 

    (4)Web及远程操作模块

        该模块建立在Application Context模块智商,提供了Web应用的各种工具类。

        如:通过Listener或Servlet初始化Spring容器,将Spring容器注册到Web容器中。

        其次该模块还提供了多项面向WEB的功能,如透明化文件上传、Velocity、FreeMarker、XSLT的支持。

 

    (5)Web及远程访问框架

        Spring自己提供了一个完整的类似于Strust的MVC框架,成为Spring MVC。

        并针对每个功能模块,Spring框架都提供了独立的jar文件,这可以方便开发者有选择地使用Spring提供的功能。

posted @ 2017-07-19 23:47  Rekent  阅读(392)  评论(0编辑  收藏  举报