1. 程式人生 > >SSM報錯Request processing failed; nested exception is java.lang.NullPointerException] with root cause

SSM報錯Request processing failed; nested exception is java.lang.NullPointerException] with root cause

畢業在公司一年以來一直做得是比較簡單的開發工作,什麼開發新功能點啦,修改bug啦,做webservices介面啦。感覺這麼長時間以來沒有多大的進步,恰巧,前一個月,領導要求我開發一個介面,要求是,呼叫公司內網的webservices,之後返回報文給ios端和android端呼叫。
webservices介面開發完之後,又接到了一個新需求,就是需要再開發一個可以提供給app端一些資料,這些資料需要我從資料庫裡查詢出來然後再給app呼叫。
當時領導把這個任務交給了同事,但是由於這個需求是要寫在我開發的webservices介面的專案裡,於是自告奮勇向領導要回了這個介面的開發權。
可是,自從畢業以後就做一些簡單任務的我,竟然連SSM的使用都忘得一乾二淨了。結果專案在執行的的時候就報了這個錯誤。

錯誤資訊:

嚴重: Servlet.service() for servlet [dispatcherServlet] in context with path [/Interfaces] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
    at com.app.dataServices.ConnectService.getLifeTime(ConnectService.java
:12) at com.app.dataController.DataController.lifeTimes(DataController.java:20) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang
.reflect.Method.invoke(Unknown Source) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

services部分方法程式碼:

@Autowired
    private static ConnectMapper connectMapper;
    public static String getLifeTime(){
        String str = connectMapper.getLifeTime();
        return str;
    }

經過一番百度查詢結果導致這個錯誤的原因竟然是static惹的禍,氣死老子了。

下面是修改後的程式碼:

@Autowired
    private ConnectMapper connectMapper;
    public String getLifeTime(){
        String str = connectMapper.getLifeTime();
        return str;
    }

去掉了static之後錯誤就沒有了。

希望你們不要入坑了,引以為戒。