当前位置: 首页 > 知识库问答 >
问题:

Spring Boot MongoRepository空指针异常

白子明
2023-03-14

我对spring有点陌生,我遇到了一个空指针异常。我认为@autowired在我的MongoRepository上不起作用。由于某种原因,当我试了一些例子时,它起作用了。(运行函数中注释掉的代码起作用)

这是我得到的错误:

2016-05-20 02:31:20.877错误6272---[nio-8080-exec-2]O.A.C.C.C.[.[.[/].[dispatcherServlet]:路径为[]的上下文中servlet[dispatcherServlet]的servlet.service()引发异常[请求处理失败;嵌套异常为java.lang.NullPointerException]并具有根本原因

java.lang.NullPointerException:com.applesauce.service.customerservice.AddCustomer(CustomerService.java:24)~[classes/:na]

你们能帮我看看吗?另外,如果我在最佳实践方面做错了什么,请让我知道。如果您需要更多的信息,请询问!

com.AppleSauce.Controller

@RestController 
@RequestMapping("/customer")
public class CustomerController {

private CustomerService customerService = new CustomerService();

@RequestMapping(value = "/addcustomer", method = RequestMethod.GET)
public Customer addCustomer(@RequestParam("firstName") String fName,
                         @RequestParam("lastName") String lName,
                         @RequestParam("email") String email,
                         @RequestParam("phoneNumber") String phoneNumber,
                         @RequestParam("source") String source){
    return customerService.addCustomer(new Customer(fName,lName,email,phoneNumber,source));
}
}

com.applesauce.repository

@Repository
public interface CustomerRepository extends MongoRepository<Customer, String> {

public Customer findByFirstName(String firstName);
public List<Customer> findByLastName(String lastName);
}

com.applesauce.service

@EnableMongoRepositories(basePackages = "com.applesauce.repository")
public class CustomerService {

@Autowired
private CustomerRepository repository;

public Customer addCustomer(Customer customer){

    repository.save(customer);

    return customer;
}
}

共有1个答案

呼延化
2023-03-14

Xtreme Biker的意思是,您应该为您的CustomerService添加@service注释,如下所示:

@EnableMongoRepositories(basePackages = "com.applesauce.repository")
@Service
public class CustomerService {
...
}

此外,如果您希望Spring会考虑使用new operator创建服务,那么您永远不会希望使用new operator创建服务。在CustomerController中,更改初始化行:

private CustomerService customerService = new CustomerService();

致:

@Autowired
private CustomerService customerService;
 类似资料:
  • 问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于

  • 我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db

  • 当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几

  • 问题内容: 嗨,我们一直在使用apache编写我们的Java程序来读取xls和xlsx文件,问题是我们由于两个原因而得到了空指针异常。第一个是已经解决的空白单元格,另一个是当我们选择一个没有任何记录的列。 我们的程序要求输入excel文件的路径,然后输入要读取的文件的特定工作表号和特定的工作表的列号。这是读取xls文件的代码 变量工作表名称用于excel文件的工作表编号 变量cols用于您要阅读的

  • 问题内容: 我正在android中做一个应用程序,因此我需要访问com.android.internal.telephony API。现在,我可以访问这些API了,但问题是,无论我在自己的类中调用Class Call.java方法的什么地方,都会抛出。您可以在http://hi- android.info/src/com/android/internal/telephony/Call.java.h

  • 有时,当我试图创建模糊位图时,我会遇到“空指针异常”。 发生在这段代码中(我最近开始捕获异常,因此至少它不会使应用程序崩溃): 请参考这些图片以获得更多关于我传递给“CreateBitmap”方法的参数的细节: 以下是扩展的参数: 完全异常: 异常{Java。Lang.NullPointerException:类型为“Java”的异常。引发了“Lang.NullPointerException”。

  • 为什么我得到空指针异常?有什么想法吗?

  • 嗨,我们一直在阅读xls和xlsx文件使用apache poi我们的java程序,问题是我们得到空指针异常有两个原因…第一个1是我们已经解决的空白单元格,另一个是当我们选择一个没有任何记录的列时… 我们可以读取每一张表的第一列,也可以读取第二张表的第二列,但是当我编辑我的测试文件时,程序现在只能读取每一张表的第一列…错误是空指针异常..希望你能帮忙提前谢谢