Proxy
静态代理我们知根知底,我们知道要对哪个接口、哪个实现类来创建代理类,
所以我们在编译前就直接实现与实现类相同的接口,
直接在实现的方法中调用实现类中的相应(同名)方法即可;
动态代理不同,我们不知道它什么时候创建,也不知道要创建针对哪个接口、
实现类的代理类(因为它是在运行时因需实时创建的)。
虽然二者创建时机不同,创建方式也不相同,但是原理是相同的
不同之处仅仅是:静态代理可以直接编码创建,
而动态代理是利用反射机制来抽象出代理类的创建过程。public interface UserService {
public void login();
}@Service("service")
public class UserServiceImpl implements UserService {
@Autowired
UserDao dao;
@Override
public void login() {
System.out.println("false");
}
}Last updated
Was this helpful?