Spring技术内幕(1)Spring的设计理念和整体架构

本章内容:

Spring各个子项目、Spring设计目标、Spring整体架构、Spring应用场景。

1.1 Spring各个子项目

Spring Framework(Core):包含一系列IoC容器的设计,提供依赖反转模式的实现;继承了AOP;包含其他基本模块,例如MVC、JDBC、事务处理模块的实现。

Spring Web Flow:工作流引擎。Spring BlazeDs Integration:Spring提供的与Flex通讯模块。Spring Security:Spring认证和安全框架。

Spring Security OAuth:OAuth在Spring的实现上提供支持。Spring Dynamic Modules:Spring对OSGi平台的支持。

Spring Batch:提供构建批处理应用和自动化操作的框架。Spring AMQP:Spring更好的使用基于AMQP(高级消息队列协议)的消息服务而开发。

Spring .NET:.NET环境中的Spring。Spring Android:在Andriod环境中基于Java REST客户端。

Spring Data:为Spring使用非关系型数据库提供帮助,比如使用分布式,k-v数据库等。

Spring Integration、Spring Mobile、Spring Social等模块。

1.2 Spring设计目标

Spring的设计目标是:Spring为开发者提供一个一站式轻量级应用开发平台。

Spring设计理念是:在JavaEE开发中,支持POJO和JavaBean开发方式,使应用面向接口开发,充分支持OO设计方法;在Spring通过IoC容器实现对象耦合关系的管理,并实现依赖反转,将对象之间的依赖关系交给IoC容器,实现解耦;

Spring体系核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他们之间的相互耦合关系;通过AOP以动态非侵入的方式增强服务。

1.3Spring整体架构

将Spring划分为:Spring IoC、Spring AOP、Spring MVC、Spring JDBC/ORM、Spring 事务处理、Spring 远端调用、Spring应用。

Spring IoC:包含最基本的IoC容器BeanFactory接口的设计与实现。例如:XmlBeanFactory是BeanFactory的实现。还有IoC容器的高级形式ApplicationContext,例如:FileSystemXMLApplicationContext、ClassPathXMLApplicationContext等实现。

Spring AOP:在JDK动态代理和CGLIB基础上实现了AOP,Spring还集成了AspectJ最为AOP的一个特定实现。

Spring MVC:该模块是以DispatcherSerlet为核心,实现MVC模式。

Spring JDBC/ROM:Spring对JDBC进行封装,提供了JdbcTemplate作为模板类,封装了基本的数据库操作方法(查询、更新);Spring JDBC还提供了RDBMS的操作对象,使得这些操作可以以面向对象的方法来使用JDBC。

Spring 事务处理:该模块是通过Spring AOP实现的自身功能增强,实现了声明式事务处理功能。

Spring 远端调用:通过Spring,封装从Spring应用到Spring应用之间端到端调用。

Spring应用:严格意义上不属于Spring范围。该部分来自于Spring的广泛的子项目。

1.4 Spring应用场景

应用场景:SSH、SSM

Spring价值:Spring是非侵入式的框架,目标是使应用程序代码对框架依赖最小化;Spring提供一个一致的编程模型,使应用直接使用POJO开发,与运行环境隔离开来;Spring推动应用设计风格向面向对象和面向接口开发转变,提高了代码的重用性和可测试。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值