Spring Boot:是什么导致了这个 TransientDataAccessResource

我正在尝试按照这篇文章使用 Spring Boot 和 Hibernate 制作一个简单的登录应用程序,不同之处在于我使用的是 JSP 而不是 Thymeleaf。


虽然注册成功进行,但在使用注册的电子邮件 ID 登录时,我收到TransientDataAccessResourceException。


我对这篇文章的理解是,' spring.queries.users-query ' 属性(来自 application.properties)需要 1 个参数(应该是),但它无法找到它,我不知道为什么。


这是我的代码:


登录控制器


@Controller

public class LoginController {

@Autowired

private UserService userService;


@GetMapping("/login")

public String showLoginPage() {

    return "login";

}


@GetMapping("/register")

public ModelAndView showRegistrationPage() {

    ModelAndView modelAndView = new ModelAndView();

    modelAndView.setViewName("register");

    modelAndView.addObject("user",new User());

    return modelAndView;

}


@PostMapping("/register")

public ModelAndView registerNewUser(@Valid @ModelAttribute("user") User user,BindingResult bindingResult) {

    ModelAndView modelAndView = new ModelAndView();

    User userObj = userService.findUserByEmail(user.getEmail());

    if(userObj != null){

        bindingResult.rejectValue("email", "error.user", "This email id is already registered.");

    }

    modelAndView.setViewName("register");

    if(bindingResult.hasErrors()){

        return modelAndView;

    }else{

        userService.saveUser(user);

        modelAndView.addObject("user",new User());

        modelAndView.addObject("successMessage", "User registered successfully");

    }

    return modelAndView;

}

}


白板的微信
浏览 192回答 1
1回答

慕容森

为了从某个配置文件加载查询作为占位符,您需要使用${}语法:@Value("${spring.queries.users-query}")private String usersQuery;@Value("${spring.queries.roles-query}")private String rolesQuery;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java