Spring学习之旅--框架整体认识

Spring学习之旅--框架整体认识

楔子

从今天开始,我将从Spring揭秘这本书学起。认识Spring时间不短,但一直处于只会用的阶段,很多理论和实践都很模糊。基于此种原因,现在开始Spring学习之旅,做好读书笔记,一步步揭开Spring神秘的面纱。

为什么选择看这本书呢,我认为在框架中Spring的地位非常重要,它承载着框架间的整合思想,本身就是一个很好的设计模式和理念,并且不会过时,学习它会对java编程思想会有更好的提升和理解。

概述

Spring框架所倡导的基于POJO(Plain Old Java Object,简单java对象)的轻量级开发理念,为了能够让这些基础的POJO构建出健壮而强大的应用,Spring框架就好像那包裹地球的大气层一样,为构筑应用的POJO提供了各种服务,进而创造了一套适宜用POJO进行轻量级开发的环境。

Spring生命之树

Spring框架为POJO提供的各种服务共同构建了Spring生命之树。如下图:

在这里插入图片描述
正如我们如图中所见,这些树枝书树干是由Spring的各个服务模块组成,说白了也就是它组成了Spring框架的核心骨架。抓住这个骨架也就抓住了Spring的学习路线。

整个Spring框架构建在Core核心模块之上,它是整个框架的基础。在该模块中,Spring为我们提供了一个IoC容器(IoC Container)实现,用于帮助我们以依赖注入的方式管理对象之间的依赖关系。

沿着Spring生命之树往上左序遍历,来到AOP模块。此模块提供了一个AOP框架,据说是增强了POJO的能力,补足OOP的缺憾。。Spring的AOP框架符合AOP Alliance规范,采用Proxy代理模式构建,与IoC容器相结合,可以充分显示出Spring AOP的强大威力。

继续上行,Spring框架在Core核心模块和AOP模块的基础上,为我们提供了完备的数据访问和事务管理的抽象和集成服务。在数据访问支持方面,Spring对JDBC API的最佳实践极大地简化了该API的使用。

除此之外,Spring框架为各种当前业界流行的ORM产品,比如Hibernate、MYBATIS、Toplink、JPA等提供了形式统一的集成支持。

Spring框架中的事务管理抽象层是Spring AOP的最佳实践,它直接构建在Spring AOP的基础之上,我们提供了编程式事务管理和声明式事务管理的完备支持。这些服务极大地简化了日常应用开发过程中的数据访问和事务管理工作。

为了简化各种Java EE服务(像JNDI、JMS以及JavaMail等)的使用,Spring框架为我们提供了针对这些Java EE服务的集成服务。

最后来到树的右上角web模块。在该模块中,Spring框架提供了一套自己的Web MVC框架,职责分明的角色划分让这套框架看起来十分地“醒目”。

总结

就像一棵树必须依赖强大的根基才能生长繁盛一样,Spring框架内的各个模块也是如此。理论上来说,上层的模块需要依赖下层的模块才能正常工作,这就是为什么说这些模块是相互依赖的。不过,近乎处于同一水平线的各个模块之间却可以认为是相互独立的,彼此之间没什么瓜葛。从这个角度看,这些模块之间的相互独立一说也是成立的。

本篇理论较多,以上就是对整个Spring框架的总体介绍,那也意味着Spring之旅已经正式开始了。

猜你喜欢

转载自blog.csdn.net/m0_37827190/article/details/103459786