AOP:面向切面编程思想,利用“动态代理”的技术,可以在不改变“目标对象”的基础上,对目标对象的方法进行增强。
通过简单案例引入AOP:
有一个UserServiceImpl类,里面有一个remove方法后来有个新需求
需求1:希望在调用remove方法删除数据前进行权限校验【对remove方法进行增强】
需求2:希望在调用UserServiceImpl类所有的方法前进行权限校验
需求3:希望整个项目中的所有的service类的所有关于数据操作的方法执行前进行权限校验
用工具类,将权限校验的方法定义在工具类中,方便各个类中的方法中进行调用,目前最好的方式。
Java中有个动态代理技术:Proxy反射包下的api
目标对象:需要被增强的类new创建出来的对象,比如此时的UserServiceImpl
代理对象:动过动态代理技术创建出来的与目标对象类型相同的对象
原文地址:https://www.cnblogs.com/Tunan-Ki/p/11784836.html
时间: 2024-10-24 02:23:07