Spring MVC 网络应用程序:
我有一个没有行号的堆栈跟踪(显示在底部)。
我认为这是由于控制器上运行的 CGLib 所致。但这对我来说很奇怪,实际的异常发生在ServerBatchRemoteRequestAcceptor
未注入的 pojo 中,而不是控制器中。它仅在 Controller 对象中创建。
例子:
@Controller
class MyController {
MyPojo pojo = new MyPojo();
@RequestMapping("myaction")
public void doMyAction(){
pojo.methodToCauseNullPointerException()
}
}
java.lang.NullPointerException
at mycommons.services.batchremoteprocessor.ServerBatchRemoteRequestAcceptor.acceptRequest(Unknown Source)
at com.proxyandvpn.web.controllers.RESTServicesController.handleGenericClientRequest(Unknown Source)
at com.proxyandvpn.web.controllers.RESTServicesController$$FastClassByCGLIB$$dff24f0f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
有人可以向我解释这种行为吗?由于 CGLib,我的控制器下的每个呼叫都会没有行号吗?
我应该将控制器写入接口以便使用代理吗?这正常吗?我是为服务做的,但控制器是简单的 POJO。