프로젝트를 하면서 Spring을 사용하였는데 이때 사용했던 어노테이션의 의미와 사용법을 다시 한번 간단하게 알아보자.
Controller에서 사용되었던 어노테이션들을 먼저 알아보자.
클라이언트 요청(URL)에 맞는 클래스나 메서드를 연결시켜주는 어노테이션이다.
GetMapping과 PostMapping은 메서드에서만 적용된다.
컨트롤러 메서드가 생성하는 모델의 정보 중에서 @SessionAttributes에 지정한 이름과 동일한 이름이 있다면 이를 세션에 저장해주는 어노테이션이다.
-> View가 이 모델을 참조해서 기존 사용자 정보를 폼에 뿌려줄 수 있게 하기 위해서이다!!
파라미터 중에 name 속성 값이 VO의 필드와 일치하면 해당 VO 객체의 필드에 값을 세팅한다.
@ModelAttribute를 이용하여 객체에 값을 직접 담을 때의 주의사항이 있다.
참고로 Getter는 JSP에서 EL을 사용할 때 반드시 필요하다.
컨트롤러에서 반환되는 값이 경로가 아닌 값으로 인식하게 해주는 어노테이션이다.
(주로 Ajax를 사용할 때 사용했었다.)
@GetMapping("/{memberNo}") 라는 GetMappring이 있다 해보자.
여기서 {memberNo}는 url에 담겨 있는 파라미터이다.
이를 PathVariable을 이용하여 변수로 저장을 할 수 있다.
쿨라이언트 요청 시 같이 전달된 파라미터를 변수에 저장하는 어노테이션이다.
어떤 파라미터를 변수에 저장할지는 "name 속성 값"을 이용해서 지정한다.