首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

署理和AOP

2012-11-08 
代理和AOP一.起源有时,我们在写一些功能方法的时候,需要加上特定的功能.比如说在方法调用的前后加上日志的

代理和AOP
一.起源
有时,我们在写一些功能方法的时候,需要加上特定的功能.比如说在方法调用的前后加上日志的操作,或者是事务的开启与关闭.对于一个方法来说,很简单,只要在需要的地方增加一些代码就OK.但是如果有很多方法都需要增加这种特定的操作呢?

没错,将这些特定的代码抽象出来,并且提供一个接口供调用者使用:


这个类仅仅是实现了PeopleInfo接口而已.平平实实.好了.关键的地方来了.就在下面!

2.4创建一个代理类:

一直到这里,都和第二节没区别,好嘛,下面就是关键哟.

3.4创建一个代理类,实现了接口InvocationHandler:
public class PeopleInfoProxy implements PeopleInfo{//接口的引用private PeopleInfo peopleInfo;//构造函数.针对接口编程,而非针对具体类public RecordLogProxy(PeopleInfo peopleInfo){this.peopleInfo = peopleInfo;}//实现接口中的方法public void record(){//1.记录日志RecordLog.recordLog();//2.方法的具体实现peopleInfo.getInfo();}}

这个是类是一个代理类,它同样实现了PeopleInfo接口.比较特殊的地方在于这个类中有一个接口的引用private PeopleInfo peopleInfo;.

楼主这个方法严重写错了,楼上的也没有改正确。

1.构造方法写的是错误的。
2.没有实现接口中的方法。
6 楼 lirig 2008-09-12   用spring的 事务,如果跟hibernat 结合的话,在一个事务里面控制了太多东西,是否会消耗太多内存? 7 楼 hanjs 2008-12-03   lz是写错了,没有实现接口的方法

热点排行