4
使用动态代理时,如何访问底层对象的注释?使用动态代理时,如何访问底层对象的注释?
具体来说,我注释一个ORM对象的设置与@Column(“的client_id”),然后作出动态代理跟踪时,注释setter方法被称为的,但是......
它不似乎注释的代理保留了任何基础注释,因此对每次调用都没有执行反射,我该如何让代理具有它的代理类的注释?
谢谢 阿兰
使用动态代理时,如何访问底层对象的注释?使用动态代理时,如何访问底层对象的注释?
具体来说,我注释一个ORM对象的设置与@Column(“的client_id”),然后作出动态代理跟踪时,注释setter方法被称为的,但是......
它不似乎注释的代理保留了任何基础注释,因此对每次调用都没有执行反射,我该如何让代理具有它的代理类的注释?
谢谢 阿兰
据我所知,这取决于你的字节码注射库。此外,请记住,通常注释不会被继承(由Java规范强加)。如果你想访问原来的类,并且正在使用CGLIB,你可以使用这段代码:
if (Enhancer.isEnhanced(getClass())) {
currClass = UnEnhancer.unenhance(getClass());
} else {
// else, let's get the original class directly
currClass = getClass();
}