【框架】123:spring框架之面向切面编程( 三 )
setCallback方法的参数需要该接口的实现类对象 , 我们可以直接使用匿名内部类的方式作为参数 , 就和调用处理器一样 。
但是在本类中实现这个接口 , 不就有了一个现成的实现类么?而this表示谁调用我就是谁 , 本类或者本类的子类都行 。
这里进一步优化代码的编写 , 上述Jdk动态代理中也可以这样优化 。
intercept方法
这是MethodInterceptor接口中的一个方法 , intercept , 翻译就是拦截的意思 。
其参数和Jdk中的调用处理器基本一样 。
生成代理对象
enhancer调用create()生成代理对象 。
代码写完 , 做个测试
文章图片
方法测试
通过运行结果我们可以发现:和Jdk动态代理能达到一样增强选定方法的效果 。
注意:目标对象CustomerServicePlus并没有实现接口 , 如果使用Jdk动态代理是不行的 , 得使用Cglib动态代理才可以 。
最后
谢谢你的观看 。
如果可以的话 , 麻烦帮忙点个赞 , 谢谢你 。
- 【日记】149微服务项目第19天
- 【日记】134微服务项目第4天
- 【微服务】146:商品品牌业务后台Java代码编写
- 【日记】120:?25岁了,好想知道牵女孩子的手是什么感觉
- 【日记】146祝我生日快乐?
- 【微服务】162:利用Java实现索引库相关的分页、排序和聚合
- 买华为手机的人真的在乎性价比吗?
- 【框架】124:spring框架之切面编程步骤说明
- 高价低配不值得买,vivox90性能超越骁龙8+旗舰
- 为了回归主流,三星煞费苦心,三星手机出镜率越来越高了