Spring学习系列-----(一)Spring概述

EJB :企业级 JavaBean

POJO:plain old java object ,即普通的 java bean

 

(一) EJB vs Spring

EJB Enterprise JavaBean, 企业级 JavaBean ,是 Sun 提供的组件模型,它为企业级的应用(服务器端)提供很多的服务,例如支持事务,安全,分布式计算等等,但其 API 过于复杂,学习成本过大,另一方面, EJB 因为要去解决很多复杂的事情而变得复杂,而很多应用并不需要去解决这些问题,例如分布式。这使得 Hibernate Spring 这些轻量级框架得以应用。

这里的 EJB 主要是指 1.x 2.x 的版本, 3.x EJB 受到 Spring 等轻量级框架的影响,现在也主要使用基于 POJO 的轻量级解决方案了。

EJB 的局限性表现在:

1)  使用 EJB ,就要引入拥有 EJB Container 的应用服务器的支持 , 例如 WebLogic WebSphere ,这意味着高昂的授权费用。

2)  EJB 有很复杂的类加载机制和部署机制,这使得 EJB 的部署和测试都很困难

 

实际上, EJB 是很强大的,但是因为它提供比较全面的服务,而使用者必须全盘接受,这导致一切都显得复杂,当你不需要分布式应用的时候,却要去实现分布式接口,这是一种奇怪而不必要的行为。

Spring EJB 之间并不矛盾,而是,要做好一种应用,那么就要选择适合它的解决方案,一切从需求出发。

Spring 打着简化的旗号出现,它主张使用简单的 JavaBean 来实现只有 EJB 才能实现的功能,由这些 POJO 来构筑应用,为 POJO 提供各种服务,从而创造机遇 POJO 进行轻量级开发的环境。

 

Spring 是一个轻量级的基于 Ioc AOP 的容器和框架。

 

(二) Spring 模块

Spring 框架提供各种服务,他们可以被划分为 7 个模块,借用一下 Spring in Action 里面的图图来说明一下吧:

Spring Framework

 

7 个模块你不用全部使用,而是根据自己的需要来选取,每个模块可以单独存在,或者组合。

1.       Core Container and Supporting Utility

核心容器,是 Spring 的基础,提供 Spring 框架的基础功能。是一个 IoC 容器的实现,勇于帮助我们以依赖注入的方式管理对象间依赖关系。另外还提供框架内部使用的各种基础工具类。

非常重要的 BeanFactory 就是在这里提供的, BeanFactory 可以说是 Spring 应用的核心,是工厂模式的一种实现,利用 Ioc 来将配置和依赖性规范从应用代码中分离。

2.       Application Context Module

应用上下文模块,向 Spring 框架提供上下文信息,扩展了 BeanFactory ,添加了国际化,生命周期管理,验证等服务

3.       AOP Module

AOP 模块,提供 AOP 支持,使用它,用户可以建立自己的切面。为与其他框架兼容, Spring AOP 基于 Alliance API

4.       JDBC abstraction and the DAO module

JDBC 抽象及 DAO 模块,处理数据库相关的事情,降低代码编写数量(例如,链接或断开数据库等等),同时,使用异常层次结构,简化错误处理,而且,这个模块利用 Spring AOP 模块为 Spring 应用提供事务管理服务

5.       Object/relation mapping integration module

ORM 映射集成模块, Spring 没有自己的 ORM 方案,而是做了其他 ORM 框架(如, Hibernate,JDO,iBatis )的钩子程序。 Spring 的事务管理支持 JDBC 和这些 ORM 框架

6.       Spring’s Web module

Web 上下文模块,建立在应用上下文之上,提供基于 Web 的上下文

7.       Spring’s MVC module

MVC 模块, Spring 提供自己的 MVC 框架,且容纳了大量视图技术,其中包括 JSP Velocity Tiles iText POI

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值