Spring AOP其实很简单
什么是AOP
AOP(Aspect-Oriented Programming),面向切面编程,是OOP的补充和完善。OOP允许定义从上到下的关系,但并不适合从左到右的关系。比如日志功能,日志的记录往往散步在系统的各个地方,如果用OOP来实现,就会出现大量重复的代码,而这些记录日志的动作和核心业务没有直接的关系,这时候就需要AOP,对所有记录日志的动作进行一种称为“横切”的操作。就是用这种“横切”的操作,剖解开对象内部,将那些影响多个类的公共行为封装到一个可重用的模块,命名为“Aspect”,即方面。就是将那些与业务无关,却为业务模块所共用的逻辑,封装起来,减少代码的重复,同时降低系统耦合度。
下面以几张图来说明AOP的作用:
在日常的开发中,多个业务逻辑会存在相同代码的情况,这时候屌丝程序员就会进行一个操作-复制->粘贴->大功告成!