Spring Annotation

starlikedh
|2021. 9. 11. 14:09

Spring Annotation이란?

자바 코드 사이에 주석처럼 쓰여서 특별한 의미를 부여하는 것.
컴파일러가 특정 오류를 억제하도록 지시하는 것과 같이 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터 제공.
즉 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있음.
클래스 내부 혹은 클래스 바로 위에 @로 시작하는 것이 바로 어노테이션이다!


Annotation 종류

주로 내가 컨트롤러단 작업 하면서 자주 봤었던, 헷갈렸던 Annotation들만 정리해보깅ㅎㅎㅎ

@Autowired
: 속성(field), setter method, constructor(생성자)에서 사용하며 Type에 따라 알아서 Bean을 주입.

@Controller
: 이 클래스가 컨트롤러 클래스라고 알려주는 것. 컨트롤러 클래스 안에서 return으로 VO나 List나 HashMap 같은거 뷰로 전송.

@RestController
: @Controller에다가 @RespnoseBody가 결합된 annotation. 문자열과 JSON 형태의 데이터 전송 가능.

@RequestBody
:
클라이언트에서 서버로 필요한 데이터를 전송하기 위해서 JSON이라는 데이터를 요청 본문에 담아서 서버로 보내면,
서버에서는 이  annotation을 사용하여HTTP 요청 본문에 담긴 값들을 자바 객체로 변환시켜 객체에 저장.

@RespnoseBody
: 서버에서 클라이언트로 요청에 대한 응답 데이터를 전송하기 위해서 이 annotation을 사용하여,
자바 객체를 HTTP 응답 본문의 객체로 변환하여 클라이언트로 전송시키는 역할을 함.

@RequestParam
:  클라이언트가 요청한 URL의 파라미터에 대한 값을 받아오는 역할을 함.

@RequestMapping
: Spring의 컨트롤러 혹은 그 메서드의 URI를 정의하는데 쓰이고 default는 GET.

@ModelAttribute
: 뷰에서 전달해주는 파라미터를 클래스(VO/DTO)의 멤버 변수로 binding 해주는 역할을 함.

@RequestAttribute
: request객체의 attribute를 가지고 올 수 있는 annotation이라고 함.

'Backend' 카테고리의 다른 글

Java Collectors groupingBy  (1) 2021.11.13
JSTL & EL  (0) 2021.09.12
자바 개념 정리_05  (0) 2021.09.05
자바 개념 정리_04  (0) 2021.08.02
자바 개념 정리_03  (0) 2021.08.01