MyTest.java 931 B

12345678910111213141516171819202122232425262728
  1. package J20250807.proxy.dynamicProxy.jdkDynamicProxy;
  2. import java.lang.reflect.Proxy;
  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、创建真实对象
  13. UserService userService=new UserServiceImpl();
  14. //2、创建调用处理器,关联真实对象
  15. LogHandler logHandler=new LogHandler(userService);
  16. //3、动态生成代理对象,代理类是在运行的时候才创建的
  17. UserService proxyUserService = (UserService) Proxy.newProxyInstance(
  18. userService.getClass().getClassLoader(),
  19. userService.getClass().getInterfaces(),
  20. logHandler
  21. );
  22. //4、通过代理对象调用方法
  23. proxyUserService.addUser();
  24. System.out.println("-------");
  25. proxyUserService.deleteUser();
  26. }
  27. }