什么是Spring?

Spring的基本概念

简介

Spring 是最近大家都听到比较多的一种框架。尤其是SSMSpring +SpringMVC+Mybatis)更是非常流行的WEB开发框架。那么到底什么是框架呢?

 

1框架:高度抽取可重用代码的一种设计,具有高度通用性。

在之前的学习中我们经常使用打包来复用一些通用的代码,来节省开发时间。所以经常使用打包的方式,生成Jar包。Jar包是一种工具。但是框架要比Jar包更抽象,使用的技术更通用。 可以说框架是多个可重用的模块集合形成某个领域的整体解决方案  。可以说框架是一个软件的骨架集合,是一个半成品的软件。举个例子,框架类似于开发商的毛坯房   ,已经具有房子的基本雏形,我们可以根据自己的需求可以装修成不同功能的房子。

那么Spring 是一种什么样的框架呢?

Spring框架是一种  容器框架 

其实在Spring出现之前就有一种容器框架叫EJBenterprise java bean  )但是EJB有很多缺点,比如,实现太复杂。还需要繁琐的配置和复杂的代码。所以EJB并没有成功,慢慢被Spring框架所取代。Spring 是容器类型的框架,有很多优良特性。    

2Spring的优良特性

1非侵入式  :非侵入式( non-invasive )的设计程序代码对于框架依赖较小。

2容器管理:将对象的创建和关系交给容器进行管理,简化开发,降低耦合性。

3面向切片编程:面向切片编程的特性可以增强程序的复用性。许多通用功能如日志、事务、安全等都可以集中处理。

4组件化 :导入灵活,对于不使用的部分,可以不用都导入。

5一站式:功能全面提供一站式的支持,帮助程序员快速开发。

 

3 spring  的模划分

 

(1)Spring 的核心容器

Spring 的核心容器是其他模块建立的基础,它主要由Beans 模块、Core 模块、Context

块、Context- support 模块和SpEL ( Spring Expression Language , Spring 表达式语言)模块组成,具体介绍如下。

• Beans 模块:提供了BeanFactory ,是工厂模式的经典实现, Spring 将管理对象称为Bean

• Core 核心模块:提供了Spring 框架的基本组成部分,包括loC DI 功能。

• Context 上下文模块: 建立在Core Beans 模块的基础之上,它是访问定义和配置的任

何对象的媒介。其中ApplicationContext 接口是上下文模块的焦点。

• Context-support 模块:提供了对第三方库嵌入Spring 应用的集成支持,比如缓存

( EhCache Guava JCache) 、邮件服务(JavaMail) 、任务调度( CommonJ Quartz) 和模板引擎( FreeMarker JasperReports 、速率)

• SpEL 模块:Spring 3 . 0 后新增的模块,它提供了Spring Expression Language 支持,

是运行时查询和操作对象图的强大的表达式语言。

(2) Data Access/lntegration (数据访问l集成)

数据访问/集成层包括JDBC ORM OXM JMS Transactions 模块,真体介绍如下。

• JDBC 模块:提供了一个JDBC 的抽象层,大幅度地减少了在开发过程中对数据库操作的

编码。

.ORM 模块:对流行的对象关系映射API ,包括JPA JDO Hibernate 提供了集成层       支持。

.OXM 模块:提供了一个支持对象/XML 映射的抽象层实现,如JAXB Castor XMLBeans JiBX XStream

• JMS 模块:Java 消息传递服务,包含使用和产生信息的特性,自4 . 1 版本后支持与

Spring-message 模块的集成。

• Transactions 事务模块:支持对实现特殊接口以及所有POJO 类的编程和声明式的事

务管理。

(3)Web

Spring Web 层包括WebSocket Servlet Web Portlet 模块,具体介绍如下。

• WebSocket 模块: Spring 4.0 以后新增的模块,它提供了WebSocket SockJS 的实现,

以及对STOMP 的支持。

• Servlet 模块:也称为Spring-webmvc 模块,包含了Spring 的模型一视图一控制器(MVC)

REST Web Services 实现的Web 应用程序。

• Web 模块:提供了基本的Web 开发集成特性,例如: 多文件上传功能、使用Servlet

听器来初始化loC 容器以及Web 应用上下文。

• Portlet 模块:提供了在Portlet 环境中使用MVC 实现,类似Servlet 模块的功能。

(4)其他模块

Spring 的其他模块还有AOP Aspects Instrumentation 以及Test 模块,具体介绍如下。

• AOP 模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能

进行分离,以降低搞合性。

• Aspects 模块:提供了与AspectJ 的集成功能, AspectJ 是一个功能强大且成熟的面向切

面编程(AOP) 框架。

• Instrumentation 模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器

中使用。

• Messaging 模块: Spring 4.0 以后新增的模块,它提供了对消息传递体系结构和协议

的支持。

• Test 模块:提供了对单元测试和集成测试的支持。

Spring 的可以用到相关模块导入相对应的包

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值