|
|
|
问banq大哥,用aspectj如何一次性向多个类添加同一方法
|
2007年04月26日 01:28
|
|
aspectj
|
|
用asjectj给类com.unmi.User添加一个方法foo()可以定义这样一个方面
public aspect ExtendClassRecipt { public void com.unmi.User.foo() { System.out.println("introduce a new method foo to class User"); } }
上面的声明方式只能是一次给一个类加一个方法,比如说有这样一个需求,我把所用的VO都放在一个包里 com.unmi.vo,我向用aspectj一次性给包com.unmi.vo中的类全加上toString()方法,便于调试,aspectj好像扩展类加方法时不能用通配符的
所以没办法写成:
public aspect ExtendClassRecipt { public String com.unmi.vo.*.toString() //希望能一次给vo包中所有类都加上toString方法 { return ReflectionToStringBuilder.toString(this); } }
如果vo包中有许多类,一个个类的为他们添加完全相同实现的toString方法实在是太码麻烦了,能批量的进行呢? banq应该用过aspectj,希望能得到您和大家宝贵的回答。
|
|
|
|
|
|
回复:问banq大哥,用aspectj如何一次性向多个类添加同一方法
|
2007年04月26日 08:22
|
|
|
aspectj只是了解,这个问题我也想知道,如果你有答案别忘记贴这里,谢谢了.
按照设计原理来看,方法必然属于某个类,因此,缺省设计考虑都是先类后方法.
|
|
|
|
|
|
回复:回复:问banq大哥,用aspectj如何一次性向多个类添加同一方法
|
2007年04月26日 10:54
|
|
|
|
谢谢banq的关注与回答,我觉得批量给多个类添加同一方法还是很有这个需求了,如果aspectj考虑过这种aspectj有没有这种实现方式。
|
|
|
|