- Java Annotation(자바 어노테이션)
: 자바 어노테이션(Java Annotation)이란 Java 5 부터 추가된 기능입니다.
: 어노테이션의 본래 주석이란 뜻으로, 인터페이스를 기반으로 한 문법이다. 주석과는 그 역할이 다르지만 주석처럼 코드에 달아 클래스에 특별한 의미를 부여하거나 기능을 주입할 수있다.
: 어노테이션은 크게 세가지 종류가 존재하는데
- JDK에 내장되어 있는 built-in annotation
- 어노테이션에 대한 정보를 나타내기 위한 Meta annotation
- 개발자가 직접 만들어 내는 Custom Annotation이 있다.
- @Controller
: Controller 어노테이션은 MVC중 C(Controller)에 해당하며 사용자의 요청을 받아 처리한 후 적절한 뷰를 찾아 응답으로 보내준다.
- @Service
: 비즈니스 로직 처리나 repository layer 호출하는 함수에 사용된다.
- @RequestMapping
: DefaultAnnotationHandlerMapping에서 컨트롤러를 선택할 때 대표적으로 사용하는 애노테이션이다.
: 사용자의 요청에 대한 어떤 Controller, 어떤 메소드가 처리할지를 매핑하기 위한 어노테이션
: url 당 하나의 컨트롤러에 매핑되던 다른 핸들러 매핑과 달리 메서드 단위까지 세분화하여 적용 가능
: DefaultAnnotationHandlerMapping은 클래스와 메서드에 붙은 @RequestMapping 어노테이션 정보를 결합해 최종 매핑정보를 생성한다.
- @RequestParam("가져올 요청 파라미터값") int 담을 변수명
: Http 요청 파라미터 값을 해당 메소드의 파라미터에 집어넣기 위해 사용
: URL 뒤에 붙은 파라미터 값을 가져올때 사용하는 어노테이션
: GET 방식으로 데이터를 보낼때 URL 뒷부분을 보면 ? 로 URL의 끝을 알리고 그다음 데이터를 적어 보낸다.
ex) http://localhost:8080/data?data=3&number=1234
- @PathVariable
: URL에서 각 구분자에 들어오는 값을 처리할떄 사용
ex) http://localhost:8080/data/{number}
- @RequestBody
: HTTP POST 요청이 올 경우 데이터가 Body에 담겨져 오는데 이때 @RequestBody 어노테이션을 사용하여 데이터를 처리한다.
* HTTP GET 방식 요청이 올 경우 데이터는 헤더에 담긴다.
* HTTP POST 방식 요청이 올 경우 데이터는 몸체(Body)에 담긴다.
- @ResponseBody
: 사용자의 요청으로 인한 결과값을 Body에 담아 응답할떄 사용하는 어노테이션