【发布时间】:2021-10-17 02:57:52
【问题描述】:
创建名为“baseController”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NullPointerException 在 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) 在 org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) 在 org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:702) 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:668) 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:716) 在 org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:591) 在 org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:530) 在 org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:170) 在 javax.servlet.GenericServlet.init(GenericServlet.java:158) 在 org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1143) 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1090) 在 org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:984) 在 org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4891) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5202) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:java.lang.NullPointerException 在 DiamondShop.Service.User.HomeServiceIml.GetDataMenus(HomeServiceIml.java:33) 在 DiamondShop.Controller.User.BaseController.Initial(BaseController.java:19) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) 在 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) 在 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ... 30 更多
@Controller
public class BaseController {
@Autowired
HomeServiceIml _homeService;
public ModelAndView _mvShare = new ModelAndView();
@PostConstruct
public ModelAndView Init () {
_mvShare.addObject("menus", _homeService.GetDataMenus());
return _mvShare;
}
}
@Controller
public class HomeController extends BaseController{
@RequestMapping(value = {"/","/trang-chu"} )
public ModelAndView Index() {
ModelAndView mv= new ModelAndView("user/index");
mv.addObject("slides", _homeService.GetDataSlide());
mv.addObject("categorys", _homeService.GetDataCategorys());
return mv;
}
@RequestMapping(value = "/product")
public ModelAndView Product() {
ModelAndView mv= new ModelAndView("user/product");
return mv;
}
}
【问题讨论】:
-
嘿!您能否添加更多详细信息?问题是什么?什么时候发生?