728x90
안녕하세요 이번 포스트에서 이야기할 내용은 Spring 어노테이션( 주석 )입니다!.
Annotation이란? ( 주석 )
Annotation이란 Java 5부터 추가된 문법입니다.
사전적 의미는 주석이지만 자바에서 사용될 때의 Annotation은 코드 사이에 주석처럼 쓰여서 특별한 의미를 부여합니다.
Spring AOP의 A, Aspect를 Annotation이라고도 할 수 있습니다.
특정 기능, 작동하는 것을 개별로 모듈로 만들어 필요한 곳에 @Annotation 형태로 넣을 수 있게 하는 것이 AOP의 편리한 점입니다.
Spring Annotation
어노테이션 | 설명 |
@Controller | 스프링 MVC의 C, Controller 객체임을 명시하는 어노테이션 |
@RequestMapping | 특정 URI에 해당되는 클래스나 메소드임을 명시하는 어노테이션 |
@RequestParam | Request의 매개변수를 가져오는 기능을 하며 메소드내에 변수로 활용 |
@RequestHeader | Request에서 특정 HTTP Header 정보를 추출할 때 사용 |
@PathVariable | 파라미터 앞에 사용하며 해당 URL에 {}로 특정 파라미터를 변수로 담아 활용 가능 |
@CookieValue | Client의 쿠키가 존재하는 경우 쿠키 이름을 이용해서 쿠키 값을 추출 |
@ModelAttribute | View에서 전달해주는 매개변수를 클래스의 멤버변수로 binding 해주는 어노테이션 |
@InitBinder | 매개변수를 수집해서 객체로 만들 경우에 커스터마이징 |
@ResponseBody | JSON 형식의 데이터값을 응답할 때 사용하는 것으로 Response Body에 형식의 노출 객체를 return할 때 json 라이브러리에 의해 문자열로 변환 |
@RequestBody | 요청이 들어온 데이터(JSON, XML)를 클래스나 model로 매핑 |
@Repository | DAO 객체를 의미함 |
@Service | Service 객체를 의미함 |
@SessionAttributes | @SessionAttribute("name") Model에 key 값이 "name"인 Value 값은 자동으로 세션에 저장 |
@Runwith | JUnit 프레임워크의 테스트를 할 수 있도록 설정 @Runwith에 Runner 클래스 설정시 JUnit의 내장된 runner 대신 설정한 SpringJUnit4ClassRunner를 실행 |
@ContextConfiguration | 지정된 클래스나 문자열을 이용해 필요한 객체들을 스프링내 객체로 등록 |
@Autowired | 해당 인스턴스 객체에 스프링으로부터 자동으로 Bean을 주입 |
@Test | JUnit에서 테스트 대상을 표시하며 단위테스트 메소드임을 의미 |
@Component | 스프링에게 해당 클래스가 관리해야할 대상임을 명시 |
@GetMapping | RequestMapping(Method=RequestMethod.Get) |
@PostMapping | RequestMapping(Method=RequestMethod.POST) |
@Transactional | Transactional의 범위, 구역을 나타냄 |
@Cacheable | 해당 메소드를 처음 호출시에 Cache에 생성하고 이후에 동일한 메소드 호출시 해당 Cache를 리턴함 결과적으로 해당 메소드의 호출 횟수를 줄여주는 어노테이션 |
@RestController | View가 필요없는 API에 지원하며, @RequestMapping 메소드가 @ResponseBody의 의미를 가정함, Data(Json, Xml) return시에 사용함 |
728x90
'Backend > Spring' 카테고리의 다른 글
Gradle과 Maven의 차이를 알아보자! (0) | 2022.01.26 |
---|---|
Spring AOP의 구동 원리와 Proxy와의 관계 (0) | 2022.01.13 |
AOP, Filter, Interceptor의 정의와 차이점 (3) - AOP편 (0) | 2022.01.11 |
AOP, Filter, Interceptor의 정의와 차이점 (2) - Interceptor 편 (0) | 2022.01.11 |
AOP, Filter, Interceptor의 정의와 차이점 (1) - Filter 편 (0) | 2022.01.10 |