2023.04.18

Jay Ji·2023년 4월 18일
0

I write TIL I close my Eyes

목록 보기
13/28
post-thumbnail

What I learned

Spring에서 자주 사용하는 Annotation 개념 및 예제 정리

1.What is Annotation?

Annotation은 클래스와 메서드에 추가하여 다양한 기능을 가능하게 해주는 역할을 한다. Annotation을 활용해서 Spring Framework는 해당 클래스가 어떤 역할인지 정하기도 하고, 자동으로 getter 혹은 setter를 생성하긴다 한다.

Annotation을 사용하는 이유는 Annotation을 통하여 코드량이 감소하고 유지보수하기 쉬우며, 생산성이 증가한다.

2. What kind of Annotation are there?

Spring Annotation

  1. @Controller
  • Spring에게 해당 Class가 Controller 역할을 한다고 알려주기 위해 사용한다.
  1. @RequestMapping
  • @RequestMapping (value="")와 같은 형태로 작성하며, 요청 들어온 URI의 요청과 Annotation value 값이 일치하면 해당 클래스나 메소드가 실행된다.
@Controller                   // 이 Class는 Controller 역할을 합니다
@RequestMapping("/user")      // 이 Class는 /user로 들어오는 요청을 모두 처리합니다.
public class UserController {
    @RequestMapping(method = RequestMethod.GET)
    public String getUser(Model model) {
        //  GET method, /user 요청을 처리
    }
    @RequestMapping(method = RequestMethod.POST)
    public String addUser(Model model) {
        //  POST method, /user 요청을 처리
    }
    @RequestMapping(value = "/info", method = RequestMethod.GET)
    public String addUser(Model model) {
        //  GET method, /user/info 요청을 처리
    }
}
  1. @RequestParam
  • URL에 전달되는 파라미터를 메소드의 인자와 매칭시켜, 파라미터를 받아서 처리할 수 있는 Annotation.
  1. @RequestBody
  • Body에 전달되는 데이터를 메소드의 인자와 매칭시켜, 데이터를 받아서 처리할 수 있는 Annotation.
  1. @ResponseBody
  • 메소드에서 리턴되는 값이 View로 출력되지 않고 HTTP Response Body에 직접 쓰여지게 된다. return시에 json, xml과 같은 데이터를 return한다.
  1. @Autowired
  • Bean을 주입받기 위하여 사용하는 Annotation.

Lombok Annotation

  1. @Setter
  • Class의 모든 필드의 Setter method 생성
  1. @Getter
  • Class의 모든 필드의 Getter method 생성
  1. @AllArgsConstructor
  • Class의 모든 필드 값을 파라미터로 받는 생성자 추가
  1. @NoArgsConstructor
  • Class 기본 생성자를 자동으로 추가
  1. @ToString
  • Class 모든 필드의 toString method 생성
profile
Think out of the Box

0개의 댓글