我有一个spring boot应用程序,其中自动连接的服务突然在特定的方法中返回null。
以下是控制器的代码段:
@RestController
@RequestMapping("/user")
@CrossOrigin
public class UserManagementController {
@Autowired
private UserService userService;
...
@PostMapping("/register")
private GameInfo register(@RequestBody UserInfo userInfo) {
User user = new User();
...
user.setUsername("user-" + userService.count());
...
return gameController.getGameInfo(user);
}
...
@PostMapping("/statistics")
public StatisticsInfo statistics(
@RequestParam(name = "username", required = true) String username,
Authentication authentication) {
User user = userService.findByUsername(username);
...
}
}
< code>userService在第一个方法中为null,在第二个方法中运行良好。
更新:这是用户服务的代码片段,在“寄存器”方法中为空。
@Service
public class UserService implements UserDetailsService {
@Autowired
private UserRepository repository;
public long count() {
return repository.count();
}
...
}
userService
具有正常的CRUD方法。请注意,userService为null,因此当我调用其任何方法时都会抛出NullPointerException。
更新2:
我创建了一个错误方法register
的克隆,并将其命名为dontRegister
,这神奇地解决了
我不明白这背后的逻辑,因为我似乎总是需要添加一个额外的未使用的方法。
我会一直保留这个问题,直到有人想出一个解释。
您的注册方法是< code>private,将其设为< code>public。逻辑上它应该是公共的,因为它是从包外部调用的。
我有一个“Foo”控制器,它正在自动装配“Foo”服务。 现在,当我向控制器添加PreAuthorize注释时,视图方法工作正常,PreAuthorize标记仅授予具有ADMIN权限的用户访问权限,但响应体方法(getFoo)不能按预期工作。 使用PreAuthorize注释时,getFoo方法无法正确自动装配/实例化foService对象,该对象的值为null,导致NPE(空指针异常)。 问题概
本文向大家介绍CentOS7.0下安装FTP服务的方法,包括了CentOS7.0下安装FTP服务的方法的使用技巧和注意事项,需要的朋友参考一下 一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通。后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程。现在,代码先走FTP吧,挺稳。 FTP简介 FTP 是File Transfer Protocol(文件传输协
本文向大家介绍Centos7.3下vsftp服务的安装方法,包括了Centos7.3下vsftp服务的安装方法的使用技巧和注意事项,需要的朋友参考一下 我们需要向centos操作系统的服务器上上传文件或者下载文件,这时候,ftp有必要安装下,本文为大家分享了vsftp服务的安装方法,供大家参考,具体内容如下 我们选择主流的vsftp; 第一步:安装vsftp 第二步:设置开机启动 第三步:启动ft
本文向大家介绍centos6.5服务器安装Nginx设置服务和开机自启的方法,包括了centos6.5服务器安装Nginx设置服务和开机自启的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍了centos6.5服务器安装Nginx设置服务和开机自启的方法,分享给大家,也给自己留个笔记 1、安装Nginx及其依赖 首先是老套路,使用ssh链接服务器,还记得以前的代码吗? 在终端中输入上面命令按
本文向大家介绍Windows下把MongoDB安装为系统服务的方法,包括了Windows下把MongoDB安装为系统服务的方法的使用技巧和注意事项,需要的朋友参考一下 总结一下如何将mongoDB安装为WinXP下系统服务。 使用的命令如下: 但是无法连接: 看了一下日志,还需要使用net start MongoDB命令来启动服务,日志如下: 按照提示,在CMD下运行 net start Mong
本文向大家介绍win10下opencv-python特定版本手动安装与pip自动安装教程,包括了win10下opencv-python特定版本手动安装与pip自动安装教程的使用技巧和注意事项,需要的朋友参考一下 1. 特定版本的python-opencv安装 在https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 下载对应python版本和windo