本节要点:Java静态代理jdk动态代理1 面向对象设计思想遇到的问题在传统OOP编程里以对象为核心,并通过对象之间的协作来形成一个完整的软件功能,由于对象可以继承,因此我们可以把具有相同功能或相同特征的属性抽象到一个层次分明的类结构体系中
本节要点:
Java静态代理
jdk动态代理
1 面向对象设计思想遇到的问题
在传统OOP编程里以对象为核心,并通过对象之间的协作来形成一个完整的软件功能,由于对象可以继承,因此我们可以把具有相同功能或相同特征的属性抽象到一个层次分明的类结构体系中。随着软件规范的不断扩大,专业化分工越来越系列,以及OOP应用实践的不断增多,随之也暴露了一些OOP无法很好解决的问题。
现在假设系统中有三段完全相似的代码,这些代码通常会采用“复制”、“粘贴”方式来完成,通过这种方式开发出来的软件如图所示:
可能读者已经发现了这种做法的不足之处,如果有一天,蓝色背景的代码需要修改,那是不是要同时修改三个地方?如果不仅仅是这三个地方包含这段代码,而是100个,甚至是1000个地方,那会是什么后果?
记录日志在代码中无处不在---先来看一个例子:
为了跟踪应用程序的运行过程,很多方法都需要记录日志信息。我们一般这样写:
//log4j的使用见文章“log4j介绍”import org.apache.log4j.Logger;public class Person {private Logger logger = Logger.getLogger(Person.class);public void sleep(){logger.info(“开始执行时间:“ + new Date());System.out.println("睡觉中");logger.info(“执行结束时间:” + new Date());}public void eating(){logger.info("开始执行时间:“ + new Date()");System.out.println("正在吃饭中");logger.info("“执行结束时间:” + new Date()");}}
--结束END--
本文标题: Spring静态代理和动态代理代码详解
本文链接: https://www.lsjlt.com/news/220903.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-09
2024-05-09
2024-05-09
2024-05-09
2024-05-09
2024-05-09
2024-05-09
2024-05-09
2024-05-09
2024-05-09
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0