获取春豆的真实类对象

2022-09-01 13:38:21

我正在用春天注射豆子。我正在使用一些注释来注释bean方法(安全性,TransactionManagement,ExceptionHanling,Logging)。问题是:

我想创建JUnit测试来检查我是否忘记了注释某些方法。但是Spring返回$ProxyXXX类,没有任何关于方法的注释。

Method[] methods = logic.getClass().getMethods();

  for (Method method : methods) {
     Annotation[] annotations = method.getAnnotations();   // empty array!

如何获取方法的注释或获取真实的类对象?

P.S. Spring 2.5.6, JDKDynamicProxy (不是 CGLib)


答案 1

Spring基于接口的代理实现了TargetClassAware


答案 2

或者你可以直接调用:AopUtils.getTargetClass(java.lang.Object) 这是一个方法调用。static


推荐