問題はthymeleafで春のブーツを使用してJavaでデータベースにユーザを追加します

ロマンLelaure:

私はこのチュートリアルを使用していた。tymeleafと春ブーツCRUDアプリケーションを

問題は、私は、ユーザーが持っていたしようとすると、私はこのエラーを得た起こります。

2020-03-15 09:51:09.413 ERROR 10168 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerExceptionが:com.CRUD.CRUD_EXAMPLE.controller.UserController.addUser(UserController.java:33)のヌル〜[クラス/:NA]

ここで、コードは次のとおりです。「」」

    @Controller
public class UserController {
    private UserRepository userRepository;
    @GetMapping("/signup")
    public String showSignUpForm(User user) {
        return "add-user";
    }

    @PostMapping("/adduser")
    public String addUser(@Valid User user, BindingResult result, Model model) {
        if (result.hasErrors()) {
            return "add-user";
        } 


        userRepository.save(user);
        model.addAttribute("users", userRepository.findAll());
        return "index";
    }

    @GetMapping("/edit/{id}")
    public String showUpdateForm(@PathVariable("id") long id, Model model) {
        User user = userRepository.findById(id)
                .orElseThrow(() -> new IllegalArgumentException("Invalid user Id:" + id));

        model.addAttribute("user", user);
        return "update-user";
    }
    @PostMapping("/update/{id}")
    public String updateUser(@PathVariable("id") long id, @Valid User user, 
            BindingResult result, Model model) {
        if (result.hasErrors()) {
            user.setId(id);
            return "update-user";
        }

        userRepository.save(user);
        model.addAttribute("users", userRepository.findAll());
        return "index";
    }

    @GetMapping("/delete/{id}")
    public String deleteUser(@PathVariable("id") long id, Model model) {
        User user = userRepository.findById(id)
                .orElseThrow(() -> new IllegalArgumentException("Invalid user Id:" + id));
        userRepository.delete(user);
        model.addAttribute("users", userRepository.findAll());
        return "index";
    }
}

「」」

マイライン33「をuserRepository.save(ユーザー)」です。

ピーターBivolarski:

あなたのUserRepositoryマークしてください実装したクラスを@Repositoryこのように、注釈:

@Repository
public class UserRepositoryImpl implements UserRepository {

その後経由で依存関係を注入@Autowired、このようなあなたのコントローラに注釈:

@Controller
public class UserController {
private UserRepository userRepository;

@Autowired
public UserController(UserRepository userRepository) {
    this.userRepository = userRepository;
}

これはあなたの問題を解決しますNullPointerException春は今、あなたのため、この依存関係を作成し、注入しますので、。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=284601&siteId=1