spring IOC_DI _AOP
2018-11-18 本文已影响0人
Shokka
IOC:
控制反转,什么为控制反转?要反转的是什么,反转的是角色。在传统代码中如果A类依赖B类,A类需要到B类才能完成自身功能。于是主动权在A身上,A可以自己new一个B类对象,也可以从工厂中获取,总之:A需要自己来获取B,并且需要知道获取的方法。
而控制反转转变了这一“主动”,可以理解为现在A类只是躺在原地,等待别人给他B对象,这样A就能使用B对象了。
DI:
依赖注入,个人理解为实现控制反转的方法,由于A依赖B,所以A要完成自身功能必定需要到B对象,而这个B对象怎么来呢,现在不是自己去获取,而是由spring容器给予(注入了b依赖)。
AOP:
面向切面编程。
核心关注点和横切关注点,OOP面向对象编程中,核心关注点为业务处理的主要流程,而横切关注点为次要但由横穿许多核心关注点的流程,例如检验,过滤,日志等,在AOP中成为切面。
AOP通过动态代理实现了扩展性高,低耦合的面向切面编程。