package J20250807.proxy.dynamicProxy.jdkDynamicProxy;

import java.lang.reflect.Proxy;
/**
 * @author WanJl
 * @version 1.0
 * @title MyTest
 * @description
 * @create 2025/8/7
 */
public class MyTest {
    public static void main(String[] args) {
        //1、创建真实对象
        UserService userService=new UserServiceImpl();
        //2、创建调用处理器，关联真实对象
        LogHandler logHandler=new LogHandler(userService);
        //3、动态生成代理对象，代理类是在运行的时候才创建的
        UserService proxyUserService = (UserService) Proxy.newProxyInstance(
                userService.getClass().getClassLoader(),
                userService.getClass().getInterfaces(),
                logHandler
        );
        //4、通过代理对象调用方法
        proxyUserService.addUser();
        System.out.println("-------");
        proxyUserService.deleteUser();
    }
}
