Spring框架介绍

Spring框架介绍---本文内容主要来源:http://www.cnblogs.com/jingmoxukong/p/4506493.html

Spring当前框架有20个jar包,大致可以分为6大模块:

  • Core Container
  • AOP and Instrumentation
  • Messaging
  • Data Access/Integration
  • Web
  • Test

Spring框架提供了非常丰富的功能,因此整个架构也很庞大。

在我们实际的应用开发中,并不一定要使用所有的功能,而是可以根据需要选择合适的Spring模块。

2.1.1 Spring 关键策略

在介绍六大模块前,首先需要说明一下Spring的两大关键策略,这是Spring框架的基石。

(1)控制反转 (Inversion of Control),英文缩写IoC

应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。

也可以说,依赖被注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。

控制反转主要有两方面:

  • 依赖注入 (Dependency Injection),缩写为DI
  • 依赖查找 (Dependency Lookup)

其中,依赖注入应用较为广泛。

依赖注入是一种技术,它是指组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。

容器全权负责的组件的装配,它会把符合依赖关系的对象通过JavaBean属性或者构造函数传递给需要的对象。

通过JavaBean属性注射依赖关系的做法称为设值方法注入(SetterInjection);将依赖关系作为构造函数参数传入的做法称为构造器注入(ConstructorInjection)

(2)面向切面编程 (Aspect Oriented Programming),缩写为AOP

通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

2.1.2 核心容器 (CoreContainer)

IoC容器是Spring框架的核心。spring容器使用依赖注入管理构成应用的组件,它会创建相互协作的组件之间的关联。毫无疑问,这些对象更简单干净,更容易理解,也更容易重用和测试。

Spring自带了几种容器的实现,可归纳为两种类型:

(1)Bean工厂

org.springframework.beans.factory.BeanFactory接口定义。

它是最简单的容器,提供基本的DI支持。

(2)应用上下文

org.springframework.context.ApplicationContext接口定义。

它是基于BeanFactory之上构建,并提供面向应用的服务,例如从属性文件解析文本信息的能力,以及发布应用事件给感兴趣的事件监听者的能力。

注:Bean工厂对于大多数应用来说往往太低级了,所以应用上下文使用更广泛。推荐在开发中使用应用上下文容器。

Spring自带了多种应用上下文,最可能遇到的有以下几种:

以下为加载应用上下文示例

ApplicationContext context = new FileSystemXmlApplicationContext("D:\\Temp\\build.xml");

ApplicationContext context2 = new ClassPathXmlApplicationContext("build.xml");

可以看到,加载 FileSystemXmlApplicationContext 和ClassPathXmlApplicationContext 十分相似。

差异在于:前者在指定文件系统路径下查找build.xml文件;而后在所有类路径(包含JAR文件)下查找build.xml文件。

通过引用应用上下文,可以很方便的调用 getBean() 方法从 Spring 容器中获取 Bean。

相关jar包

spring-core, spring-beans,提供框架的基础部分,包括IoC和依赖注入特性。

spring-context,在spring-core, spring-beans基础上构建。它提供一种框架式的访问对象的方法。

它也支持类似JavaEE特性,例如:EJB,JMX和基本remoting。ApplicationContext接口是它的聚焦点。

springcontext-support,集成第三方库到Spring application context。

spring-expression,提供一种强有力的表达语言在运行时来查询和操纵一个对象图。

2.1.3 AOP 和 Instrumentation

相关jar包

spring-aop,提供了对面向切面编程的丰富支持。

spring-aspects,提供了对AspectJ的集成。

spring-instrument,提供了对类instrumentation的支持和类加载器。

spring-instrument-tomcat,包含了Spring对Tomcat的instrumentation代理。

2.1.4 Messaging

相关jar包

spring-messaging,包含spring的消息处理功能,如Message,MessageChannel,MessageHandler。

2.1.5 数据访问与集成 (DataAccess / Integaration)

Data Access/Integration层包含了JDBC / ORM / OXM /JMS和Transaction模块。

相关jar包

spring-jdbc,提供了一个JDBC抽象层。

spring-tx,支持编程和声明式事务管理类。

spring-orm,提供了流行的对象关系型映射API集,如JPA,JDO,Hibernate。

spring-oxm,提供了一个抽象层以支持对象/XML映射的实现,如JAXB,Castor,XMLBeans,JiBX 和 XStream.

spring-jms,包含了生产和消费消息的功能。

2.1.6 Web

相关jar包

spring-web,提供了基本的面向web的功能,如多文件上传、使用Servlet监听器的Ioc容器的初始化。一个面向web的应用层上下文。

spring-webmvc,包括MVC和REST web服务实现。

spring-webmvc-portlet,提供在Protlet环境的MVC实现和spring-webmvc功能的镜像。

2.1.7 测试 (Test)

相关jar包

spring-test,以Junit和TestNG来支持spring组件的单元测试和集成测试。

时间: 2024-10-27 12:29:59

Spring框架介绍的相关文章

Spring框架介绍和原理

SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Til

Spring - 框架介绍

最近有点空余的时间,对框架进行重新整理和学习,前几天看Struts没有写日志, 等过几天把Spring Hibernate等框架整理完毕再补上 对Sping的理解我总结了一个图(和其他人的差不多): Spring Core/IoC : 核心容器(BeanFactory) 提供了对象的生成, 装配及生命周期管理; BeanFactory是所有基于Spring框架系统的核心 Spring Application Context: :Spring上下文 Context使Spring成为框架的原因. 作

(转)spring 框架介绍

转自:http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html 1.Spring MVC简介 Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC和Struts.Struts2非常类似.Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到

Spring框架介绍及使用

1.spring简介1.1什么是sping1.2为什么使用spring(sping的好处)1.3 spring体系结构2.核心概念2.1. IOCInversion of Control 控制反转2.2DIdependency injection 依赖注入3.Spring第一个程序4.IOC容器IOC容器的两种类型实例化时机5.数据装配6.bean的生命周期:生命周期的各个阶段:对生命周期进行扩展:7.实例化bean的方式构造方法 有参.无参静态工厂:无参.有参实例工厂:无参.有参(非静态方法)

详细介绍spring框架(下篇)

上篇简单介绍了spring,下面详细介绍为什么需要spring框架? Spring带给我们什么 方便解耦,简化开发,通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合.有了Spring,用户不必再为单实例模式类.属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用. AOP编程的支持 通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付. 声明式事务的支持 在

Spring框架简单介绍

原文地址:  http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多人合作,随即分工出现.怎样划分模块,怎样定义接口方便分工成为软件project设计中越来越关注的问题.良好的模块化具有下面优势:可扩展.易验证.易维护.易分工.易理解.代码复用. 优良的模块设计往往遵守"低耦合高内聚"的原则.而"框架"是对开发中良好设计的总结,把设计中

spring框架体系结构介绍

Spring框架学习(本人整理,非原创) 一.spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架.---- 百度百科 如果作为一个整体,这些模块为你提供了开发企业应用所需的一切.但你不必将应用完全基于Spring框架.你可以自由地挑选适合你的应用的模块而忽略其余的模块. 就像你所看到的,所有的Spring模块

CXF框架介绍及Spring集成

1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.HTTP ,CXF 大大简化了WebService并且可以天然地和 Spring 进行无缝集成.CXF是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,核心是org.apache.cxf.Bus(总线),类似于Spring的 ApplicationContext,C

Spring4- 01 - Spring框架简介及官方压缩包目录介绍- Spring IoC 的概念 - Spring hello world环境搭建

一. Spring 框架简介及官方压缩包目录介绍 主要发明者:Rod Johnson 轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子. 2.2 IT 行业:直接使用写好的代码. Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便. Spring 几大核心功能 4.1 IoC/DI控制反转/依赖注入 4.2 AOP面向切面编程 4.3 声明式事务. Spring 框架runtime 5.1 test: spring 提供测试功能 5.2 Core Container:核心容器