见过最多次的错误:java.lang.NullPointerException 代码:
@Autowired
private UserMapper userMapper;
@Autowired  // 忘记添加
private RoleMapper roleMapper;
@Override
public Map<String, Object> selectUserByCondition(Map<String, Object> condition) {
Map<String, Object> returnUser = userMapper.selectUserByCondition(condition);
if (("user_pwd")==null) {
return returnUser;
}
/
/ 先⽤MD5对密码进⾏加密,再做⽐较
String md5 = Md5Utils.md5((("user_pwd"));
if(returnUser!=null && md5.("user_pwd"))) {
return returnUser;
}
return null;
}
@Override
public int changePasswordById(Map<String, Object> user) {
int i = userMapper.changePasswordById(user);
if (i > 0) {
return i;
}
return 0;
}
public PageUtils selectByConditionToPage(Map<String, Object>condition, int index) {
// 1.通过条件查询记录数
int count = userMapper.selectCountByCondition(condition);
// 每页的记录数
int size = Global.PAGE_SIZE;
LOGGER.debug(count);
PageUtils pageUtils = null;
if (count > 0) {
pageUtils = new PageUtils(index, size, count);
// 2.通过条件查询数据
// 注意:开始位置 = 索引*每页记录数
index = index*size;
List<Map<String,Object>> page = userMapper.selectByConditionToPage(condition, index, size);
// 将⾓⾊的数据也加⼊到集合⾥⾯
for (Map<String, Object> user : page) {
// 第⼀步:通过 user 中的 role_id
Object role_id = ("role_id");
Map<String, Object> role = new HashMap<String, Object>();
role.put("role_id", role_id);
// 第⼆步:通过 role_id 获得⾓⾊信息
role = roleMapper.selectRoleByCondition(role); // 报错点
// 第三步:将⾓⾊的字段拼接到 user ⾥⾯
// 使⽤拼接在同⼀层的⽅式,不同表的字段名是不可以重复的
user.put("role", role);
LOGGER.debug("管理员拼接后的字段:"+role);
}
pageUtils.setPage(page);
}
return pageUtils;
}
错误详情:
java.lang.NullPointerException
service.impl.UserServiceImpl.selectByConditionToPage(UserServiceImpl.java:72)
UserList(UserController.java:129)
ntroller.UserController$$FastClassBySpringCGLIB$$25cf3127.invoke(<generated>)
at lib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:736)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroducti
onInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:671)
ntroller.UserController$$EnhancerBySpringCGLIB$$UserList(<generated>)
flect.NativeMethodAccessorImpl.invoke0(Native Method)
flect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
flect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at flect.Method.invoke(Method.java:498)
at org.hod.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.hod.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.hod.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.hod.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.hod.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.hod.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)nullpointerexception为什么异常
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at at.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.tor.CoyoteAdapter.service(CoyoteAdapter.java:342)
at http11.Http11Processor.service(Http11Processor.java:800)
at AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at at.util.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at at.util.SocketProcessorBase.run(SocketProcessorBase.java:49)
at urrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at urrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at at.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
怎么样去解决错误:第⼀:先看控制台,报错的原因,看到空指针异常,有点蒙,不知去哪错了,并且报错的地⽅好像有点没对象。
         第⼆:加了⽇志,可⽇志好像并没有打印出来,联想到可能调⽤的⽅法没有去执⾏。那为什么会不执⾏呢?
         第三:应该马上联想到该对象没有注⼊,然后去瞄⼀眼,哎,真的是,真没有注⼊,马上注⼊,⽴即执⾏,啊,成功了