动态代理:代理一个普通的Java类
基于子类的动态代理
首先,添加依赖
基于子类的动态代理:不能代理最终类
基于动态代理的事务控制 注意匿名内部类访问的是final方法创建的对象 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191220101444370.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZjdmlxbA==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191220103433298.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZjdmlxbA==,size_16,color_FFFFFF,t_70) 代码增强:添加事务 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191220103631802.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZjdmlxbA==,size_16,color_FFFFFF,t_70)
补全:service中注入的多余东西去除,剩如下图
OOP:面向对象编程
AOP:面向切面编程
AOP的实现方式,即动态代理技术
业务层的方法代码都是连接点
被增强的方法就是切入点
通知的分类:红框圈中的是 环绕通知:在环绕通知中,有明确的切入点调入
AOP编程中,我们需要做的事