Spring框架的动态代理是干什么用的
展开全部
主要就是解耦和。还有提高开发效率。易于修改啊。
比如 一段记录日志的代码。loger.log("some mothed invoke at "+new Date()); 没有什么难事。但是你所有方法。你都复制一下?那个太不靠谱了。
嗯。这个就是Java 模式 中的 代理模式。你可以看一下。看看那个。你就知道了spring 的代理。嗯。spring的代理,有两种机制,一中是jdk的Proxy 还有一个是cglib 这个是基于集成实现的。嗯。就是super 使用重写方法。然后在重写方法中加入 super.thisMethod();
耦合度太高的话就会对你的程序未来升级带来恨大的麻烦。嗯。说实话啊。嗯。你的项目要是一顶保证永不改变。那么完全可以不管这个耦合度的问题。但是,jdk的升级。还有其他框架啊。技术的升级。都会对你 的系统带来问题。和升级空间。所以,降低耦合度就是一直在做的。
比如 一段记录日志的代码。loger.log("some mothed invoke at "+new Date()); 没有什么难事。但是你所有方法。你都复制一下?那个太不靠谱了。
嗯。这个就是Java 模式 中的 代理模式。你可以看一下。看看那个。你就知道了spring 的代理。嗯。spring的代理,有两种机制,一中是jdk的Proxy 还有一个是cglib 这个是基于集成实现的。嗯。就是super 使用重写方法。然后在重写方法中加入 super.thisMethod();
耦合度太高的话就会对你的程序未来升级带来恨大的麻烦。嗯。说实话啊。嗯。你的项目要是一顶保证永不改变。那么完全可以不管这个耦合度的问题。但是,jdk的升级。还有其他框架啊。技术的升级。都会对你 的系统带来问题。和升级空间。所以,降低耦合度就是一直在做的。
展开全部
是用于AOP,面向切面编程的。
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。
具体可参考AspectJ 。
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。
具体可参考AspectJ 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
spring的动态代理实现有两种,一种第三方,一种是JDK的反射。
动态代理可以快速地实现工厂生成对象实例注入业务中使用到的实例。
动态代理可以快速地实现工厂生成对象实例注入业务中使用到的实例。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询