MyTest.java 936 B

1234567891011121314151617181920212223242526272829
  1. package J20250807.proxy.dynamicProxy.cglibDynamicProxy;
  2. import net.sf.cglib.proxy.Enhancer;
  3. /**
  4. * @author WanJl
  5. * @version 1.0
  6. * @title MyTest
  7. * @description
  8. * @create 2025/8/7
  9. */
  10. public class MyTest {
  11. public static void main(String[] args) {
  12. //1、通过增强器对象Enhancer,生成代理类
  13. Enhancer enhancer=new Enhancer();
  14. //2、设置被代理类为父类(CGLIB是通过继承实现代理)
  15. enhancer.setSuperclass(OrderService.class);
  16. //3、设置方法拦截器--代理逻辑
  17. enhancer.setCallback(new LogInterceptor());
  18. //4、生成代理对象 代理类是OrderService类的子类
  19. //父类的引用 = 子类的对象
  20. OrderService proxy = (OrderService) enhancer.create();
  21. //5、通过代理对象调用方法
  22. proxy.addOrder();
  23. System.out.println("-------------------");
  24. proxy.deleteOrder();
  25. }
  26. }