每次我尝试处理我的/register方法时,我总是收到一个不能调用“com.***.repositories.userrepository.findByEmail(String)”的错误,因为“this.userrepository”是空错误。
我不明白为什么代码会被认为是空的。
控制器-
@Controller
@RestController
@RequestMapping("/api/v1")
@CrossOrigin(origins = "*", allowedHeaders = "*")
public class AuthenticationController {
@Autowired
UserService userService;
UserRepository userRepository;
AuthenticationTokenRepository authenticationTokenRepository;
@PostMapping(value = "/register")
public ModelAndView registerUser(ModelAndView modelAndView, User user) {
User existingUser = userRepository.findByEmail(user.getEmail());
if (existingUser != null) {
modelAndView.addObject("message", "This email already exists!");
modelAndView.setViewName("error");
} else {
userRepository.save(user);
AuthenticationToken authenticationToken = new AuthenticationToken(user);
authenticationTokenRepository.save(authenticationToken);
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo(user.getEmail());
mailMessage.setSubject("Complete Registration!");
mailMessage.setFrom("***@gmail.com");
mailMessage.setText("To confirm your account, please click here : "
+ "http://localhost:8080/confirm-account?token=" + authenticationToken.getConfirmationToken());
emailSenderService.sendEmail(mailMessage);
modelAndView.addObject("email", user.getEmail());
modelAndView.setViewName("successfulRegisteration");
}
return modelAndView;
}
}
Axios调用-
submit() {
let formData = new FormData();
formData.set("firstName" , this.firstName)
formData.set("lastName", this.lastName)
formData.set("email", this.email)
formData.set("password", this.password)
formData.set("captchaToken", this.captchaToken)
formData.set("agreedToTermsOfService", true)
axios.post("http://localhost:8080/api/v1/register", formData,
{headers: {'Content-Type': 'application/json'}})
.then(res => {
if (res.status === 200) {
this.$router.push('/register-complete');
} else {
console.log(res.data.code);
}
})
.catch(function (err) {
console.log(err);
})
}
我的用户存储库-
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
User findByEmail(String email);
}
只需将@Autowired添加到您想要获得spring Autowired的相关字段中即可。
将代码从
@Autowired
UserService userService;
UserRepository userRepository;
AuthenticationTokenRepository authenticationTokenRepository;
至
@Autowired
UserService userService;
@Autowired
UserRepository userRepository;
@Autowired
AuthenticationTokenRepository authenticationTokenRepository;
这里有两节课。SaleGood类有一个可变特性a,应该在另一个名为Inventory类中使用。类Inventory有两个可变特性,inventoryAmount和inventoryBill,这两个特性都应该在类Salegood中使用。 我正在使用getter/setter。然而,错误说 我以为是因为这个代码错了?因此我不能使用。我试了一整天。但仍然不知道如何修复它。我尝试了,也是错误的。 在课堂上
我刚来spring boot,就偶然发现了这个奇怪的例外。 目的:我正在尝试构建一个基本的spring boot rest客户端应用程序。 问题:获取异常为空的错误。即 当我的@RequestMapping值为“Employee”时, 但当我将其改为“模板/员工”时, 它会抛出下面附加的错误。谁能找出并解释是什么引起了这个问题?谢谢. 错误 这里是我的pom.xml以供参考 error.jsp
我正在尝试编写一个简单的客户机/服务器应用程序。我在客户端有一个数据,它会变成一个整数数组并传输到服务器。服务器进行计算并将其返回给客户端。但我的程序却出现了这个例外。 抱歉,我只是在学习,真的需要你的帮助。
我在eclipse上不断收到这个错误,说Jan 26 2021年12:58:03 AM org.apache.catalina.core.StandardWrapperValve invoke Severe:servlet.Service()for servlet[com.xadmin.userManagement.web.userServlet]在路径为[/UserManagement]的上下文
我一直得到这个错误在我的eclipse说Jan26, 2021 12:58:03AMorg.apache.catalina.core.标准WrapperValve调用SEVERE: Servlet.service()servlet[com.xadmin.usermanagement.web.UserServlet]在上下文中与路径[/UserManagement]抛出异常<--plhd-不能调用j
我有一个java中的练习,它的文本是: 矩阵类表示整数数组。其框架如下:公共类矩阵{private int[]]mat;/*创建一个矩阵对象,其内容由矩阵矩阵表示。*/public Matrix(int[][]mat){…}/*返回由调用该方法的对象表示的矩阵元素之和。*/public int sumElements(){…}/*通过移除行i和列j*/公共子矩阵矩阵(int i,int j){。。