@ModelAttribute란 ?
- @ModelAttribute는 사용자가 요청시 전달하는 값을 "오브젝트(객체)" 형태로 매핑해주는 어노테이션이다.
- 요청 파라미터값 (메서드.set...)을 프로퍼티 접근법 (set...)으로 입력해준다.
- model.addattribute로 지정한 객체를 자동으러 넣어준다.
@ModelAttribute를 사용시 장점
- 가장큰 장점으로는 객체로 매핑하기 때문에 일일이 매핑을 안해줘도 된다.
@RequestParam을 사용할 경우
- @RequestParam 어노테이션은 매개변수로 1:1로 매핑을 해줘야된다.
- @RequestParam을 사용할 경우 매겨변수가 많아지면 매핑 순서를 맞춰줘야되는 번거로움이있다.
- 예 ) 아래 경우 처럼 하나하나 사용자의 요청을 매핑해줘야됨.
public String save(@RequestParam Long id,
@RequestParam String name, ...)
@ModelAttribute을 사용할경우
public String save(@ModelAttribute UserForm userForm, Model model)