代理模式
代理模式分为:静态代理、Jdk动态代理、CGlib动态代理三种代理模式
比较三种代理:
静态代理是通过在代码中显式定义一个业务实现类一个代理,在代理类中对同名的业务方法进行包装,用户通过代理类调用被包装过的业务方法;
JDK动态代理是通过接口中的方法名,在动态生成的代理类中调用业务实现类的同名方法;
CGlib动态代理是通过继承业务类,生成的动态代理类是业务类的子类,通过重写业务方法进行代理;
1.1 静态代理
创建接口
public interface UserService {
public void addUser(String a);
public void updateUser(String b);
}
1.1.2 创建实现类
public class UserServiceImpl implements UserService{
public void addUser(String a) {
System.out.println("新增用户");
}
public void updateUser(String a) {
System.out.println("修改用户");
}
}
1.1.3 创建静态代理类
public class UserProxyHandle implements UserService {
private UserServiceImpl userServiceImpl;
public UserProxyHandle(UserServiceImpl userServiceImpl) {
this.userServiceImpl = userServiceImpl;
}
public void addUser(String a) {
System.out.println