spring_AOP编程

AOP:面向切面编程思想,利用“动态代理”的技术,可以在不改变“目标对象”的基础上,对目标对象的方法进行增强。

通过简单案例引入AOP:

有一个UserServiceImpl类,里面有一个remove方法后来有个新需求

需求1:希望在调用remove方法删除数据前进行权限校验【对remove方法进行增强】

需求2:希望在调用UserServiceImpl类所有的方法前进行权限校验

需求3:希望整个项目中的所有的service类的所有关于数据操作的方法执行前进行权限校验

用工具类,将权限校验的方法定义在工具类中,方便各个类中的方法中进行调用,目前最好的方式。

      Java中有个动态代理技术:Proxy反射包下的api

            目标对象:需要被增强的类new创建出来的对象,比如此时的UserServiceImpl

            代理对象:动过动态代理技术创建出来的与目标对象类型相同的对象

猜你喜欢

转载自www.cnblogs.com/Tunan-Ki/p/11784836.html