Spring学习之==>入门知识

一、Spring是什么?

  Spring 是一种轻量级的、非侵入式的 Java/JavaEE 应用框架。Spring 使用的是基本的 JavaBean 来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

  Spring 的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的 JavaSE/EE full-stack(一站式) 轻量级开源框架。

二、Spring能干什么?

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

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

  • Ioc/DI
  • AOP
  • 对JDBC和ORM的支持
  • 对事物的支持
  • 各种技术的整合
  • Web应用框架(Spring MVC)

三、Spring有什么?

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

核心容器部分(Core Container)

  • Core和Beans模块: 提供了Spring最基础的功能,提供IoC和依赖注入特性;
  • Context模块: 基于Core和Beans来构建,它提供了用一种框架风格的方式来访问对象,有些像JNDI注册表。Context封装包继承了beans包的功能,还增加了国际化(I18N)、事件传播、资源装载、以及透明创建上下文;
  • Expression Language: 表达式语言模块,提供了在运行期间查询和操作对象图的能力;

数据访问/集成部分(Data Access/Integration)

  • JDBC模块: 提供对JDBC的抽象,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码;
  • ORM模块: 提供了常用的"对象/关系" 映射APIs的集成层。其中包括:JAP、JDO、Hibernate、Ibatis;
  • OXM模块: 提供一个支持Object和XML进行映射的抽象层,其中包括JAXB、Castor、XMLBeans、JiBX、XStream;
  • JMS模块: 提供一套"消息生产者、消费者"模板用于更加简单的使用JMS;
  • Transaction模块: 支持程序通过简单声明性事务管理,只要是Spring管理对象都能得到Spring事务管理的好处;

Web部分

  • Web模块:提供了基础的Web功能;
  • Web-Servlet模块:提供了Web应用的Model-View-Controller(MVC)实现;
  • Web-Struts模块:提供了对Struts集成的支持;
  • Web-Portlet模块:提供了在Portlet环境下的MVC实现;

AOP部分

  • AOP模块: 提供了符合AOP联盟规范的面向方面的编程实现,可以定于如:方法拦截器和切入点;
  • Aspects模块:提供了对AspectJ的集成;
  • Instrumenttation模块:提供了一些类级的工具支持和ClassLoader级的实现;

Test部分

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

四、Spring的优点

  • 方便解耦,简化开发 (高内聚低耦合)

    • Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理;
    • spring工厂是用于生成bean
  • AOP编程的支持
    • Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能;
  • 声明式事务的支持
    • 只需要通过配置就可以完成对事务的管理,而无需手动编程;
  • 方便程序的测试
    • Spring对Junit4支持,可以通过注解方便的测试Spring程序;
  • 方便集成各种优秀框架
    • Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持;
  • 降低JavaEE API的使用难度
    • Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低;
  • Java 源码是经典学习范例
    • Spring的源码设计精妙、结构清晰、匠心独运,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果;

原文地址:https://www.cnblogs.com/L-Test/p/11593638.html

时间: 2024-10-15 06:07:24

Spring学习之==>入门知识的相关文章

零基础学Python应该学习哪些入门知识及学习步骤安排

众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位,薪资待遇呈上涨趋势.很多人都想学习Python,那么零基础学Python应该学习哪些入门知识呢? Python入门知识一:解释器. Python是一种面向对象的解释型计算机程序设计语言,因此想要学好Python你必须要了解解释器.由于Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行

Spring学习10-SpringMVC入门

   二.SpringMVC请求处理流程    其中Front controller :前端控制器 Controller:后端控制器   三.Spring核心组件及请求处理流程

Spring学习(1)----入门学习

(一)Spring是什么 Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用 是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架- 从大小和开销两方面而言都是轻量的- 通过控制反转(IOC)的技术达到松耦合的目的- 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发- 包含并管理应用对象的配置和生命周期,这个意义上就是一种容器- 将简单的组件.组合成为复杂的应用,这个意义上就是框架 (二)Spring作用

Spring学习随笔(2):Eclipse下Spring环境配置+入门项目

1 准备工作 (按需下载) Eclipse 下载:http://www.eclipse.org/downloads/eclipse-packages/ : Spring 下载:http://repo.spring.io/libs-release-local/org/springframework/spring/  版本自选: Spring aop另需的3个包:http://download.csdn.net/download/lk_lxn/6397895 2 Spring IDE help->E

[Spring框架]Spring AOP基础入门总结一.

前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务

Spring学习之Ioc控制反转(1)

开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------------------------------开始啦啦啦啦啦------------------------------------------------------------------------------- 从开始接触spring起,听到最多的就是Ioc(控制反转)和AOP(面向切面编程

不错的Spring学习笔记(转)

Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是spring.jar和commons-logging.jar.此外为了便于测试加入了JUnit包.   在Myeclipse中创建Java项目.   编写一个接口类,为了简单,只加入了一个方法.   Java代码   1.package com.szy.spring.interfacebean;  

ESB (Enterprise Service Bus)入门知识

本文主要介绍ESB相关的一些技术概念与术语,还有一些入门的需要了解的基础知识,并初步了解介绍一些ESB产品.由于本人刚接触ESB,所以将自己的学习内容与过程,记录下来!愿在这里与大家分享一下,共同进步与提高! [转载使用,请注明出处:http://blog.csdn.net/mahoking] EAI 企业应用集成(Enterprise Application Integration):是完成在组织内.外的各种异构系统.应用和数据源之间共享.交换信息.协作的途径,方法学,标准和技术. 所连接的应

Spring学习【Spring概述】

从本文开始,我们就要一起学习Spring框架,首先不得不说Spring框架是一个优秀的开源框架.其中采用IoC原理实现的基于Java Beans的配置管理和AOP的思想都是很值得学习与使用的.下面我们就进入正题!介绍Java平台上的一个优秀的开源应用框架Spring,以及Spring框架的历史和Spring框架相关基本知识. [转载使用,请注明出处:http://blog.csdn.net/mahoking] Spring 介绍 Spring是Java平台上的一个开源应用框架.它的第一个版本是由