프로젝트를 하면서 사용한 어노테이션 정리 (1)

주빈·2022년 8월 9일
0

framework

목록 보기
10/11
post-thumbnail
post-custom-banner

프로젝트를 하면서 Spring을 사용하였는데 이때 사용했던 어노테이션의 의미와 사용법을 다시 한번 간단하게 알아보자.

📘 Controller 클래스

Controller에서 사용되었던 어노테이션들을 먼저 알아보자.

📜 @RequestMapping("url")

클라이언트 요청(URL)에 맞는 클래스나 메서드를 연결시켜주는 어노테이션이다.

✏ 위치에 따른 해석

  • 클래스 레벨 : 공통 주소 (프론트 컨트롤러 패턴을 지정한다.)
  • 메서드 레벨 : 공통 주소외 나머지 주소

📜 @GetMapping("url") / @PostMapping("url")

GetMapping과 PostMapping은 메서드에서만 적용된다.

✏ GetMapping

  • GetMapping은 Http GET 요청을 특정 핸들러 메서드에 매핑하기위한 어노테이션이다.
  • 주소에 파라미터들이 노출된다.
  • 주로 조회 시에 많이 사용한다. (Get 방식)

✏ PostMapping

  • 메서드에 대해서 똑같은 주소 매칭은 에러가 발생한다.
  • 주소에 파라미터가 노출되지 않는다.
  • 주소 수정 / 삭제 등에 많이 사용한다. (Post 방식)

📜 @SessionAttributes({"이름"})

컨트롤러 메서드가 생성하는 모델의 정보 중에서 @SessionAttributes에 지정한 이름과 동일한 이름이 있다면 이를 세션에 저장해주는 어노테이션이다.
-> View가 이 모델을 참조해서 기존 사용자 정보를 폼에 뿌려줄 수 있게 하기 위해서이다!!


📜 @ModelAttribute("이름") VO타입 변수명

파라미터 중에 name 속성 값이 VO의 필드와 일치하면 해당 VO 객체의 필드에 값을 세팅한다.

✏ 주의사항

@ModelAttribute를 이용하여 객체에 값을 직접 담을 때의 주의사항이 있다.

  • VO에 다음 내용이 반드시 작성되어 있어야 한다!
    • 기본 생성자
    • 필드에 대한 Setter

참고로 Getter는 JSP에서 EL을 사용할 때 반드시 필요하다.


📜 @ResponseBody

컨트롤러에서 반환되는 값이 경로가 아닌 값으로 인식하게 해주는 어노테이션이다.
(주로 Ajax를 사용할 때 사용했었다.)


📜 @PathVariable("이름") 자료형 변수명

@GetMapping("/{memberNo}") 라는 GetMappring이 있다 해보자.
여기서 {memberNo}는 url에 담겨 있는 파라미터이다.
이를 PathVariable을 이용하여 변수로 저장을 할 수 있다.


📜 @RequestParam("name속성값") 자료형 변수명

쿨라이언트 요청 시 같이 전달된 파라미터를 변수에 저장하는 어노테이션이다.
어떤 파라미터를 변수에 저장할지는 "name 속성 값"을 이용해서 지정한다.

profile
누구에게나 필요한 개발자가 꿈
post-custom-banner

0개의 댓글