Spring
[Spring] 스프링 어노테이션 종류
인디아나쥰이
2020. 10. 17. 14:54
어노테이션 이란?
Annotation은 Java5부터 새롭게 추가된 문법요소 이며,
사전적으로는 "주석" 이라는 의미를 가지고 있고, 의미대로 자바 코드에 주석처럼 달아 특수한 의미를 부여해준다.
이 특별한 의미는 컴파일 타임 또는 런타임에 해석된다.
아래와 같이 클래스 내부 또는 클래스 바로위에 '@'와 함께 시작하는 것이 어노테이션이다.
이는 자바, Spring 이 제공해주는 것도 있고, 사용자가 직접 만들수도 있다.
어노테이션 용도
-Override 어노테이션처럼 컴파일러를 위한 정보를 제공하기 위한 용도
-스프링 프레임워크의 @Controller 어노테이션처럼 런타임에 리플렉션을 이용하여 특수한 기능을 추가하기 위함
-컴파일 과정에 어노테이션 정보로 부터 코드를 생성하기 위함
어노테이션 종류
| 어노테이션 | 설명 | 사용 |
| @Controller | 스프링MVC의 컨트롤러 객체임을 명시하는 어노테이션 |
클래스 |
| @RequestMapping | 특정 URI에 매칭되는 클래스나 메소드임을 명시하는 어노테이션 | 클래스,메소드 |
| @RequestParam | 요청(request)에서 특정한 파라미터 값을 찾아낼 때 사용하는 어노테이션 | 파라미터 |
| @RequestHeader | 요청(request)에서 특정 HTTP 헤더 정보를 추출할때 사용 | 파라미터 |
| @PathVariable | 현재의 URI에서 원하는 정보를 추출할 때 사용하는 어노테이션 | 파라미터 |
| @CookieValue | 현재 사용자의 쿠키가 존재하는 경우 쿠키의 이름을 이용해서 쿠키의 값을 추출 | 파라미터 |
| @ModelAttribute | 자동으로 해당 객체를 뷰까지 전달하도록 만드는 어노테이션 | 메소드, 파라미터 |
| @InitBinder | 파라미터를 수집해서 객체로 만들경우에 커스터마이징 | 메소드 |
| @ResponseBody | 리턴 타입이 HTTP의 응답 메시지로 전송 | 메소드, 리턴타입 |
| @RequestBody | 요청(request)문자열이 그대로 파라미터로 전달 | 파라미터 |
| @Repository | DAO 객체 | 클래스 |
| @Service | 서비스 객체 | 클래스 |
| @SessionAttribute | 세션상에서 모델의 정보를 유지하고 싶은 경우에 사용 | 클래스 |
728x90
반응형