Spring来一发(三)IOC和AOP

IOC和AOP是Spring两个核心的思想,本篇作个简单介绍。

1、IOC

控制反转(Inversion of Control,IOC)的思想是,把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。控制反转,控制的什么被反转了?就是:获得依赖对象的方式反转了。

有时候IOC又被称作依赖注入(Dependency Injection,DI),所谓DI,其实就是IOC的实现思路,由容器动态的将某个依赖关系注入到组件之中,以达到控制反转的目的。

简单地说,IOC的目的就是,只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。IOC降低了组件之间的耦合,降低了业务对象之间替换的复杂性,使之能够灵活的管理对象。

依赖注入的思想是通过反射机制加工厂模式实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。

2、AOP

 AOP利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块。AOP将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

AOP的实现原理是JDK的动态代理:https://blog.csdn.net/ss1300460973/article/details/85640115

猜你喜欢

转载自blog.csdn.net/ss1300460973/article/details/85694573