spring-动态代理

突然不知道动态代理是啥了,能做什么了,解决了什么问题,苦苦。
动态代理学习前先明白什么是代理,什么是静态代理,最后再解释动态代理。
什么是代理,生活中,我是广告商,需要找明星代言,这时候你直接联系明星会不会不被理呀,因为明星的很多商务活动都是经济人安排的,这时候有什么事情广告商找经济人就ok了,不需要找明星,广告商——>经济人——>明星 这个关系就是了,经济人就是明星的代理。
下面解释下静态代理:
RealSubject:真实角色,是实现抽象接口的类。
Proxy:代理角色,内部含有对真实对象RealSubject的引用,从而可以操作真实对象。代理对象提供与真实对象相同的接口,以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。
Subject : 接口,是对象和它的代理共用的接口,让RealSubject和Proxy具有一致性。spring-动态代理_第1张图片
静态代理和动态代理的区别:在代码编译时就确定了被代理的类是哪一个,那么就可以直接使用静态代理;如果不能确定,那么可以使用类的动态加载机制,在代码运行期间加载被代理的类这就是动态代理,比如RPC框架和Spring AOP机制。

你可能感兴趣的:(Spring)