思考:为什么要用Spring

spring带来了什么?

说到Spring肯定离不开它的两大特性AOP和IOC

IOC:把我们的类上交,由Spring来进行统一的管理和配置,在需要使用的地方注入。好处是减少了各个类之间的相互依赖,依赖控制交给Spring管理。

AOP:封装了jdk和cglib的动态代理,结合IOC提供了更方便的增强类的方法。

没有Spring会怎么样?

想知道为什么使用,最好的办法就是想想如果没有会怎样,没有手机、没有电脑、没有操作系统……。没有Spring框架。

如果没有Spring,我们不得不在使用每个类之前,实例化一个对象。当然我们可以用工厂方法来做这件事,就可以集中管理并且让调用者和被调用者之间的耦合更松散。于是需要大量的工厂类,并且在增加或改变接口实现的时候,还需要对工厂进行调整。而Spring就像一个大工厂一样,使用了大量的反射机制来生成需要实例的对象。

除此之外Spring还带来了强大的代理,我们使用的每个注入的对象都是经过代理的增强对象,同时可以使用aop包来定义一些与业务逻辑不相关的切面。增强功能模块的内聚,拆分功能模块和非业务模块。而AOP又是建立在IOP基础之上,因此如果没有Spring,功能模块和非功能模块混在一起,导致逻辑混乱不清晰。

为什么要用Spring

现在已经很清晰了,用Spring可以让各个模块耦合更松散,可以在业务逻辑之外进行增强代理,实现非业务功能。所以就算没了Spring,也会有类似的其他框架来实现这些目的,而现在Spring的生态比较大,社区又比较活跃,为什么不用呢?

猜你喜欢

转载自blog.csdn.net/a499477783/article/details/79893322