Spring 주요 Annotation
Last updated
Last updated
스프링에는 수천가지 어노테이션이 존재한다. 당연하지만 모든 어노테이션을 외울수는 없고 천천히 둘러보고 싶다면 스프링 메뉴얼을 확인해보면 된다. 다만 메뉴얼의 양이 방대하고 영어로 기술되어 있으므로 하나하나 살펴보기는 너무나 오랜 시간이 걸리므로 현재 문서에서는 프로젝트에서 자주 사용되는 어노테이션들 위주로만 설명을 진행할 예정이다.
@Controller : 클래스가 MVC아키텍쳐에서 Controller의 역할을 함을 의미하는 주석. component-scan에 의해 servlet이 관리하는 bean객체로 등록된다 유사 어노테이션 : @Service, @Repository, @Component
@RequestMapping : 특정 url패턴에 매핑되는 클래스 및 메서드를 지정하는 주석.
유사 어노테이션 : @GetMapping, @PostMapping, @PutMapping, @DeleteMapping
@Autowired : 스프링 컨테이너에의해 관리되는 bean객체를 주입받는 어노테이션. root-context.xml에서 설정한 모든 bean객체와, servlet-context.xml에서 설정한 bean객체. 내장 bean객체들을 주입받을수 있다.
@RequestParam : 클라이언트가 요청시 전달한 파라미터값을 바인딩해주는 어노테이션. 요청 파라미터의 key값과 일치하는 변수 지정시 파라미터값을 가져올 수 있다. 속성을 통해 기본값 설정, 필수값 설정등이 가능하다.
그 밖에 @CookieValue, @SessionAttributes
@ExceptionHandler
@ControllerAdvice
@ResponseBody
@RestController
@RequestBody
@PathVariable
@ModelAttribute : 파라미터로 전송한 값을 특정 model객체. 즉 VO객체로 바인딩할때 사용된다. 명시적으로 추가하든 생략하든 데이터 바인딩은 문제없으나 명시적으로 작성했을때는 추가적인 기능을 이용할 수 있다.