-------------------------------------------------------------------------------------

Spring是什么?

  Spring是一种轻量级的非侵入式Java/JavaEE应用框架。

  (框架:能完成一定功能的半成品软件)

    Spring是一个Java/JavaEE应用框架

    Struts2是一个web应用框架

    Hibernate4是一个ORMapping应用框架

      这就说明Spring框架对Java/JavaEE开发的各个层次都应该有帮助

Spring能干什么?

  笼统说: Spring能作为一个超级的"粘合"平台,把很多的技术有效整合到一起 形成一个整体,以更好地解决问题,并使系统结构更优良、性能更出众。(体现体系结构设计的:组件式、装配式、插拔式、复用性、无侵入性等)

  具体点说,Spring能干的事情很多,最基本的有以下几条:

  1. Ioc/DI

  2. AOP

  3. 对JDBC和ORM的支持

  4. 对事物的支持

  5. 各种技术的整合

  6. Web应用框架(Spring MVC)

Spring有什么?

从上图可以看出Spring3总共包含了大约20个模块,这些模块又被组成成为: 核心容器模块、数据访问/集成部分、Web部分、AOP部分和测试支持 几个部分。  

核心容器部分(Core Container)又包含如下部分:

  1.Core和Beans模块: 提供了Spring最基础的功能,提供IoC和依赖注入特性。

  2.Context模块: 基于Core和Beans来构建,它提供了用一种框架风格的方式来访问对象,有些像JNDI注册表。Context封装包继承了beans包的功能,还增加了国际化(I18N)、事件传播、资源装载、以及透明创建上下文。

  3.Expression Language: 表达式语言模块,提供了在运行期间查询和操作对象图的能力。

数据访问/集成部分(Data Access/Integration)包含如下部分:

  1.JDBC模块: 提供对JDBC的抽象,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。

  2.ORM模块: 提供了常用的"对象/关系" 映射APIs的集成层。其中包括:JAP、JDO、Hibernate、Ibatis。

  3.OXM模块: 提供一个支持Object和XML进行映射的抽象层,其中包括JAXB、Castor、XMLBeans、JiBX、XStream

  4.JMS模块: 提供一套"消息生产者、消费者"模板用于更加简单的使用JMS。

  5.Transaction模块: 支持程序通过简单声明性事务管理,只要是Spring管理对象都能得到Spring事务管理的好处。

Web部分包含如下部分

  1.Web模块: 提供了基础的Web功能。

  2.Web-Servlet模块:提供了Web应用的Model-View-Controller(MVC)实现

  3.Web-Struts模块:提供了对Struts集成的支持

  4.Web-Portlet模块:提供了在Portlet环境下的MVC实现

AOP部分包含如下:

  1.AOP模块: 提供了符合AOP联盟规范的面向方面的编程实现,可以定于如:方法拦截器和切入点。

  2.Aspects模块:提供了对AspectJ的集成

  3.Instrumenttation模块:提供了一些类级的工具支持和ClassLoader级的实现。

Test部分包含如下

  1.Test模块: 提供对使用JUnit和TestNG来测试Spring组件的支持,它提供一致的ApplicationContexts并缓存这些上下文,它还能提供mock对象,使得你可以独立的测试代码。

Spring 入门知识的更多相关文章

  1. spring 入门篇

    spring 入门篇         相对于Hibernate(冬眠),Spring(春天),具有更多的诗意与希望的感觉,是为了解决传统J2EE开发效率过低.开发商之间不统一.没有真正实现“写一次到处 ...

  2. Spring入门篇总结:

    本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 视频传送门:Spring入门篇 该门课程主要从Spring的Bean ...

  3. Spring入门5.事务管理机制

    Spring入门5.事务管理机制 20131126 代码下载 : 链接: http://pan.baidu.com/s/1kYc6c 密码: 233t 回顾之前的知识,Spring 最为核心的两个部分 ...

  4. Spring入门4.AOP配置深入

    Spring入门4.AOP配置深入 代码下载 链接: http://pan.baidu.com/s/11mYEO 密码: x7wa 前言: 之前学习AOP中的一些概念,包括连接点.切入点(pointc ...

  5. Spring入门3.AOP编程

    Spring入门3.AOP编程 代码下载: 链接: http://pan.baidu.com/s/11mYEO 密码: x7wa 前言: 前面学习的知识是Spring在Java项目中的IoC或DJ,这 ...

  6. Spring入门1. IoC入门实例

    Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...

  7. Spring入门之生命周期

    好几日没有读东西了,今天本来要读mybatis原理部分,但是看到作者讲,只是学会用不用学那么深,遂直接开干spring,工作中一直用springboot,框架都是领导搭好的,每天的任务就是增删改查,挺 ...

  8. SpringBoot系列(二)入门知识

    SpringBoot系列(二)入门知识 往期推荐 SpringBoot系列(一)idea新建springboot项目 引言 本来新建springboot项目应该放在入门知识这一章的,但是由于新建spr ...

  9. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

随机推荐

  1. CSS的一些零碎总结

    1.CSS 伪元素用于向某些选择器设置特殊效果(用来当作一个东西的,跟一个元素差不多,但不是元素). ① :frist-line伪元素:用于向文本首行设置特殊样式,但是只能用于块级元素. 以下属性可应 ...

  2. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  3. Struts2 internationalization(国际化)

    1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素.换言之,应用程序的功 ...

  4. VS2010和opencv-2.4.10、GDAL

    系统环境:win10 64位 本文只限于学习交流,商业用途请支持正版! 转载请注明:转载请注明http://www.cnblogs.com/mxbs/p/6206060.html       2016 ...

  5. Java.utils.Collections学习

    阅读类库代码是有意义的,尤其是Java集合类框架以及算法Collections Arrays都是值得阅读的, 一来可以减少新手程序员的编码的工作量,二来,对于常见的需求,程序员应该先找下是否有现成的类 ...

  6. 快速部署tomcat项目的Shell脚本

    为了做集群测试,在每台机器上装了3个tomcat,每次发布项目的时候都要反复敲一些命令,重启tomcat之前先检查tomcat进程有没有停掉,没有还要手动kill该进程. 发布次数多了,操作就比较繁琐 ...

  7. JavaScript中的this陷阱的最全收集 没有之一

    当有人问起你JavaScript有什么特点的时候,你可能立马就想到了单线程.事件驱动.面向对象等一堆词语,但是如果真的让你解释一下这些概 念,可能真解释不清楚.有句话这么说:如果你不能向一个6岁小孩解 ...

  8. MVP之V和P的交互

    三者之间的关系 在MVP初探里简单的描述了V和P之间是如何交互的. 无论是PV还是SC,M\V\P这三者之间的关系并没有发生改变,V只是前端的客户代理承现展显数据,P是如何处理客户交互行为的决策者. ...

  9. Spring Boot 添加Shiro支持

    前言: Shiro是一个权限.会话管理的开源Java安全框架:Spring Boot集成Shiro后可以方便的使用Session: 工程概述: (工程结构图) 一.建立Spring Boot工程 参照 ...

  10. 【转】解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介

    ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦.为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一个.NET Core的东 ...