首页 > 解决方案 > [请求处理失败;嵌套异常是 java.lang.NullPointerException]

问题描述

我在我的实体包中又添加了一个类作为 UserDetails.java。我已将所有必要的 Controller 和 DAO 类添加到各自的包中。但是我为这两个实体使用了一个服务类。现在,当我为早期的实体类运行服务时,它工作正常。但是当我为后来添加的实体类运行服务时,我给出了错误消息。

2020 年 5 月 20 日 12:20:26 AM org.apache.catalina.core.StandardWrapperValve 调用

严重:servlet [dispatcher] 在路径 [/TwoFactor] 的上下文中的 Servlet.service() 引发异常 [请求处理失败;嵌套异常是 java.lang.NullPointerException] 的根本原因

java.lang.NullPointerException

在 com.firstapp129.twofactor.service.DistScannerServiceImpl.getUsers(DistScannerServiceImpl.java:39)

我正在使用以下服务类代码:

package com.firstapp129.twofactor.service;

import java.util.List;

import javax.transaction.Transactional;

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

import com.firstapp129.twofactor.dao.DistScannerDAO;
import com.firstapp129.twofactor.dao.UserDetailsDAO;
import com.firstapp129.twofactor.entity.DistScanner;
import com.firstapp129.twofactor.entity.UserDetails;

@Service
public class DistScannerServiceImpl implements DistScannerService {

    @Autowired
    private DistScannerDAO distScannerDAO;
    private UserDetailsDAO userDetailsDAO;

    @Override
    @Transactional
    public List<DistScanner> getCustomers() {
        // TODO Auto-generated method stub
        return distScannerDAO.getCustomers();
    }
    @Override
    @Transactional
    public void saveDistScanner(DistScanner theDistScanner) {
        distScannerDAO.saveDistScanner(theDistScanner);
        // TODO Auto-generated method stub
    }

    @Override
    @Transactional
    public List<UserDetails> getUsers() {
        // TODO Auto-generated method stub
        return userDetailsDAO.getUsers();
    }

    @Override
    @Transactional
    public void saveUserDetails(UserDetails theUserDetails) {

        userDetailsDAO.saveUserDetails(theUserDetails);
        // TODO Auto-generated method stub

    }

}

标签: javaspring

解决方案


UserDetailsDAO 不是自动装配的,因此会引发空指针异常。\ 在其顶部添加 @Autowired 注释。


推荐阅读