动态代理--cglib 回调
来源:互联网 发布:国内数据库现状 编辑:程序博客网 时间:2024/05/19 17:26
package com.gqc.factory;import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;import com.gqc.service.ISomeService;import com.gqc.service.SomeServiceImpl;public class MyCglibFactory implements MethodInterceptor {private ISomeService target;public MyCglibFactory() {target = new SomeServiceImpl();}public ISomeService myCglibCreator(){//创建增强器对象Enhancer enhancer=new Enhancer();//指定目标类,即父类 (因为cglib是通过创建子类来增强父类的)enhancer.setSuperclass(ISomeService.class);//设置回掉接口对象enhancer.setCallback(this);return (ISomeService) enhancer.create();}//回调方法@Overridepublic Object intercept(Object obj, Method method, Object[] args,MethodProxy proxy) throws Throwable {//调用目标方法Object result = method.invoke(target, args);if (result!=null) {result = ((String) result).toUpperCase();}return result;}}
package com.gqc.service;//主业务接口public interface ISomeService {//目标方法String dofirst();void doSecond();}
package com.gqc.service;//目标类public class SomeServiceImpl implements ISomeService {public String dofirst() {System.out.println("执行dofirst");return "abcde";}public void doSecond() {System.out.println("执行doSecond");}}
package com.gqc.test;import com.gqc.factory.MyCglibFactory;import com.gqc.service.ISomeService;public class MyTest {public static void main(String[] args) {ISomeService service=new MyCglibFactory().myCglibCreator();String result = service.dofirst();System.out.println("result="+result);service.doSecond();}}
阅读全文
0 0
- 动态代理--cglib 回调
- 动态代理-CGLib动态代理
- 初识CGLIB动态代理
- Cglib 动态代理
- CGLib 动态代理
- 动态代理-->cglib
- cglib动态代理介绍
- cglib动态代理
- CGLIB 动态代理。
- CGLIB动态代理
- CGLIB实现动态代理
- cglib 动态代理
- cglib动态代理模式
- cglib动态代理
- cglib动态代理
- CGLIB 动态代理
- cglib动态代理
- 动态代理CGLIB
- Appium for Android元素定位方法
- 排序算法集合 -6
- WPF自定义exe进程嵌入控件
- 设计模式学习总结:外观模式(Facade)
- 【JS】用js实现二维数组里面的元素排列组合一个小demo
- 动态代理--cglib 回调
- 阿里巴巴JAVA开发规范插件
- Django框架全面讲解 -- 缓存
- 矩阵的奇异值分解(SVD)(理论)
- JSON
- bzoj 3622: 已经没有什么好害怕的了
- 如何绕过chrome的弹窗拦截机制
- Linux如何安装Redis和注意的地方
- Windows环境下的一些常用dos命令