Spring的设计目标

设计目标

Spring的设计目标:为开发者提供一个一站式的轻量级应用开发框架(平台),抽象了我们在许多应用开发中遇到的共性问题,简化整个开发流程。

层次划分

在设计上可以把Spring划分为核心、组件和应用三个基本层次。
核心:IOC容器、AOP模块。
组件:事务处理、web MVC、JDBC、ORM、远程调用等。
应用:使用了Spring的应用系统。

Spring核心

对于Spring来说,一方面它通过IoC容器来管理POJO对象,以及它们相互之间的耦合关系。另一方面,通过AOP以动态和非侵入式的方式来增强服务的功能。所以,我们把IoC容器和AOP模块看做spring的核心。作为核心,它们代表了最为基础的底层抽象,同时也是Spring其他模块实现的基础。

Spring组件

Spring为应用开发提供了许多即开即用的系统组件和服务,这些服务涵盖了java EE的各个基本服务,对于其他服务,也可以根据使用情况动态扩展到Spring体系中(只要依据IoC和AOP所约定好的特定模式)。基本来说,Spring体系中已经可以包括我们在应用开发中经常用到的许多服务了,比如事务处理、web MVC、JDBC、ORM、远程调用,从对用户的价值上来说,这些服务相对来说是不可忽视的。

设计理念

对Spring来说IoC和AOP就是它的核心,但如果没有我们前面提到的那些即开即用的服务,Spring的应用和推广还会遇到很大的障碍。不过值得庆幸的是,Spring通过社区和自己的努力,提供了这些看起来不起眼,却对推广起着关键作用的部分,从而构建出一个丰富的生系统。由此可以看到,这些由spring或者其生态系统提供的,类似于操作系统的驱动模块的系统组件,也是spring平台的有机组成部分。通过这部分组件提供的许多简单的即开即用的java EE服务抽象,从而使应用在通过POJO来进行具体开发时,得到java EE服务的有力支持,使应用可以更关注应用的领域问题,更关注业务逻辑。同时,由于spring使用IoC容器和AOP这样的核心模块来构建这些服务抽象和应用,它们本身的松耦合设计理念可以让应用通过使用简单的开发接口或现成的应用模块,就可以方便的使用这些java EE服务。不但如此,由于这些服务是通过IoC和AOP来提供的,对用户而言,绑定的是IoC容器和AOP模块,也就是说绑定的是IoC和AOP模块的使用接口,而不是绑定具体的java EE服务,也为应用灵活的选取不同的服务实现提供了基础。比如,根据应用需求,用户可以选择Hibernate作为ORM工具,也可以选择使用iBatis,还可以使用其他的类似工具。这些不同工具和底层服务的具体实现的选择都不影响应用的架构设计,这也体现了Spring的设计理念——面向接口开发而不依赖于具体的产品实现。

开源

作为一个开源项目,Spring本身也依赖开源社区的力量,形成了一个开放的生态系统,开源的特性也深深影响了spring的体系设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值