我正在尝试自动生成一些EJB服务代码,这些代码是Java DAO类的包装器。 DAO类实现DAO接口,但也有自己的公共方法。这个DAO层是由另一个团队实现的,所以我无法使用它。
我正在使用CodeModel API来生成代码。我得到每个DAO类,现在想要创建EJB服务代码。使用java反射我试图检查在DAO类中声明的方法是否是一个重写的接口实现方法。无论如何,我可以检查一下吗?
答案 0 :(得分:1)
1)如果使用@Overridden注释覆盖了方法,则可以迭代这些方法,并使用此API检查其注释:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Method.html#getDeclaredAnnotations%28%29
2)如果没有注释,我认为,唯一的方法是迭代父类和接口,并比较在你的类中使用签名声明的方法签名。