@RequestMapping
@RequestBody
Client에서 전송한 XML, JSON 데이터를 컨트롤러에서 DOM 객체나 Java 객체로 변환해서 받을 수 있는 기능
HTTP Request의 Body를 Java Object로 변환
@RequestMapping에 의해 전송된 HTTP Request 데이터를 지정된 타입의 파라미터로 전달
@ResponseBody
Java Object를 HTTP Response Body로 변환
@RequestMapping 메서드에 @ResponseBody가 적용되면 해당 메서드의 return value를 HTTP response 데이터로 사용한다.
@WebFilter
특정 URL로 request가 들어오면 거치는 필터
@WebListener
web.xml에 등록하지 않고 자동으로 실행하게 한다.
we.xml의 listener와 완전 동일한 기능
@WebServlet
urlPattern 속성을 값으로 갖는데 이 속성은 해당 서블릿과 매핑될 URL 패턴을 지정한다.
@RestController 동작 과정
https://daehwann.wordpress.com/2014/07/14/building-a-restful-web-service/
@RestController와 @Controller의 차이점
http://doublesprogramming.tistory.com/105
@Controller의 주용도는 view(화면)을 리턴하는 것이고, @RestController는 데이터를 리턴하는 것이 주용도하고 할 수 있다. 물론 @Cotroller의 경우 메서드에 @ResposeBody를 사용하여 객체를 리턴할 수도 있다.
- @Controller is used to mark classes as Spring MVC Controller.
- @RestController is a convenience annotation that does nothing more than adding the @Controller and @ResponseBody annotations (see: Javadoc)
https://dzone.com/articles/spring-framework-restcontroller-vs-controller
@PathVariable
get을 쓸때 url parameter를 변수로 바로 지정 가능함
http://javabeat.net/pathvariable-template-patterns-spring-mvc/
FilterChain 참고
http://wildpup.cafe24.com/archives/596
http://javacan.tistory.com/entry/58
@FrameworkEndpoint - controller와 비슷한 역할
@FrameworkEndpoint라는 SpringSecurity에서 생성한 인터페이스 기반으로 Endpoint를 조회해서 requestMapping을 등록하는 역활을 한다.
즉 @FrameworkEndpoint를 붙혀주면 해당 클래스는 FrameworkEndpointHandlerMapping를 통해서 controller와 같이 동작한다고 보면 된다.
기존에 라이브러리에서 제공되는 FrameworkEndpoint의 리스트는 여러개 있음
[출처] http://longbe00.blogspot.com/2016/12/spring-security-oauth-20.html
@SessionAttributes("~~~")
HttpSession에 저장되어 있는 파라미터 값을 Handler의 매게변수에 mapping해주는 역할
@EnableRabbit
@Component
Spring에서 관리되는 객체임을 표시하기 위해 사용하는 가장 기본적인 annotation이다. 즉, scan-auto-detection과 dependency injection을 사용하기 위해서 사용되는 가장 기본 어노테이션이다.
@Controller
Web MVC 코드에 사용되는 어노테이션이다. @RequestMapping 어노테이션을 해당 어노테이션 밑에서만 사용할 수 있다.
@Repository
data repository를 나타내는 어노테이션이다. @Repository는 플랫폼 특정 exception을 잡아 Spring의 unchecked exception으로 뱉어내준다. ( PersistenceExceptionTranslationPostProcessor )
@Repository @Mapper
[BE/Spring] @Repository 와 @Mapper 비교하기 (tistory.com)
@Service
비즈니스 로직이나 respository layer 호출하는 함수에 사용된다. 다른 어노테이션과 다르게 @Component에 추가된 기능은 없다. 하지만 나중에 Spring 측에서 추가적인 exception handling을 해줄 수도 있으니 비즈니스 로직에는 해당 어노테이션을 사용하자.
https://happyer16.tistory.com/entry/Spring-annotation-ServiceControllerComponent-%EC%B0%A8%EC%9D%B4
2021.01.21 업데이트
@Configuration
Spring IoC Container에게 해당 클래스를 Bean 구성 Class임을 알려줌
@Bean
Spring Container에 Bean을 등록하도록하는 메타데이터를 기입하는 애노테이션
'Spring MVC' 카테고리의 다른 글
Spring Batch (0) | 2019.01.18 |
---|---|
Spring Transaction 관련 (0) | 2016.11.30 |
[#1] spring 개요 (0) | 2016.05.03 |
SpringMVC 분석 (0) | 2016.04.28 |
[#2] Spring 기초 (3) | 2016.03.22 |