簡體   English   中英

從控制器調用時java.lang.NullPointerException

[英]java.lang.NullPointerException while calling from controller

我的Spring Boot程序正在編譯而沒有任何問題,但每當我點擊注冊鏈接時,它都會拋出NullPointerException錯誤。 我真的不知道可能導致這種情況的原因。 鑒於以下是錯誤: -

java.lang.NullPointerException: null
    at com.concretepage.controller.UserInfoController.registration(UserInfoController.java:32) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_171]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_171]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_171]

UserinfoController類如下: -

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.concretepage.entity.ProjectLevel;
import com.concretepage.service.LevelService;
import com.concretepage.service.UserInfoService;

@Controller
@RequestMapping("app")
public class UserInfoController {
    @Autowired
    private UserInfoService userInfoService;
    private LevelService levelService;

    @GetMapping("login")
    public ModelAndView login() {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("custom-login");
        return mav;
    }

    @GetMapping("registration")
    public ModelAndView registration() {
        ModelAndView mav = new ModelAndView();
        List<ProjectLevel> levels = levelService.getAllLevels();
        mav.addObject("Levels", levels);
        mav.setViewName("registration");
        return mav;
    }

    @GetMapping("secure/project-details")
    public ModelAndView getAllUserProjects() {
        ModelAndView mav = new ModelAndView();
        mav.addObject("userProjects", userInfoService.getAllUserProjects());
        mav.setViewName("projects");
        return mav;
    }

錯誤在線 -

List<ProjectLevel> levels = levelService.getAllLevels();

LevelServiceImpl類如下: -

package com.concretepage.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.concretepage.entity.ProjectLevel;
import com.concretepage.repositories.LevelRepository;

@Service
public class LevelServiceImpl implements LevelService {
    @Autowired
    private LevelRepository levelRepository;

    @Override
    public List<ProjectLevel> getAllLevels() {
        List<ProjectLevel> levelList = levelRepository.findAll();
        return levelList;
    }
}

只需更改這段代碼:

@Autowired
private UserInfoService userInfoService;
private LevelService levelService;

@Autowired
private UserInfoService userInfoService;
@Autowired
private LevelService levelService;

您必須為私有LevelService levelService使用單獨的@Autowired;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM