Spring in Action读书笔记(二)——三大特色

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BuquTianya/article/details/79619852

spring的三大核心特色

书的第一章内容的概括性很高,从spring的本质核心触发,点名了spring的三大优点:依赖注入(IOC)、应用切面(AOP)、使用模板。

依赖注入

依赖注入把原本需要对象自己管理和创建需要使用的其他类的实例这种传统方式,转变成了由spring的容器就行创建和管理,原来的类只需要依赖于接口。所以,依赖注入就有了另外一个名字——控制反转,即创建和管理依赖实例的权利转交给了容器管理。

这样做的一大好处就是解耦合。在IOC场景下,一个对象只通过接口来维护依赖关系,这种依赖能够在对象本身毫不知情,不动声色的情况下,用不同的具体实现进行替换。而且这种替换相当便捷,只需要修改一个配置就可以,而不需要整个工程的搜索去逐个修改。当然,改的少,出错的机会也就会相应降低。

应用切面

面向切面编程是在代码的横切方向植入通用逻辑的一种技术,能够把遍布应用各处的功能分离出来形成可重用组件的技术。

面向切面编程和依赖注入类似,是一种编程视角的转换,一种思维方式的扭转。在切面诞生之前,一些像日志、事务、权限控制、安全等公共功能都是由各个需要的功能单元去主动调用的。切面诞生之后,各个功能单元只需要实现各自的功能逻辑,其他公共功能由切面的方式在编译期或运行期以生成代理类的方式嵌套到实际功能逻辑之外(前、后、环绕、返回、异常)。

这种编程方式很大程度的减少了功能的交叉调用,使得功能逻辑的纯粹度大大提高,也一定程度的减小了工程源代码的复杂度,使得源代码清晰度大大提高。

使用模板

spring另外一大特色是提供了很多服务组件的封装,尤其是提供了大量的模板类,使用起来很方便,在spring体系中有十分相似的用法。

像常用的jdbcTemplate、RedisTemplate、RestTeamplate等。

总起来说,spring就是一部集java大成的有字天书,一本包罗万象的四库全书。作为一个java工程师,工作中需要用到的各种技术,不论是页面、模板引擎、服务、中间件、存储、消息、流计算、微服务、移动技术等等等都能够在spring框架中找到一两个实现来。

有时间的话,真的应该好好研究研究spring这本大部头的书!

猜你喜欢

转载自blog.csdn.net/BuquTianya/article/details/79619852