본문 바로가기

Spring/이론

[Spring] Annotation

Annotation은 사전적 의미는 '주석'이며

 코드 사이에 주석처럼 쓰이며 기능을 수행하도록 하는 기술입니다/

 코드 작성 문법 에러를 체커하도록 정보를 제공하고

 이 개발 툴이 코드를 자동으로 생성할 수 있도록 도와줍니다.

 또한 실행시에 특정한 기능을 수행하도록 도와줍니다.

 

종류를 살펴보겠습니다.

 

1. @Bean : 개발자가 직접 제어가 불가능한 외부 라이브러리 등을

Bean으로 만들때 사용합니다.

2. @Autowired : 속성, setter, 생성자에서 사용하며,

타입에 따라서 Bean을 주입해줍니다.

3. @Controller : Spring의 Controller

view(화면, .jsp)를 return해주는게 목적입니다.

4. @RestController : Controller 중에서 View 쪽으로

응답하지 않는 Controller인데

data(xml, json)들을 return해주는게 목적입니다.

이 기능은 Spring 4.x.x에서부터 제공합니다.

5. @ResponseBody : 자바 객체를 HTTP 요청의 body 내용으로

매핑을 하는 역할을 합니다.

 

RestController = Controller + ResponseBody

 

라고 보시면 됩니다.

6. @Service : 비즈니스 로직을 수행하는 Class임을 나타낼 때 사용합니다.

비즈니스 로직 (Business Logic) : 사용자 눈에는 안보이지만, 사용자가 원하는 결과물을

올바르게 도출할 수 있도록 짜여진 코드입니다.

7. @XmlRootElement / @XmlElement

OXM(Object XML Mapping) => 어떤 데이터를 XML로 변환하기 위한 데이터인데

이것을 하기 위해 사용합니다.

특정 데이터를 XML 형태로 만들어주는 것 : 마샬링 (mashalling)

XML데이터를 특정 데이터로 만들어주는 것 : 언마샬링(unmashalling)

XmlRootElement : Javabean의 Class명 위에 명시합니다.

XmlElement : Javabean의 setter에 명시합니다.

8. @RequestMapping : 요청에 따라 어떤 Controller, 어떤 Method가 처리될지

매핑하기 위해서 사용합니다.

value :요청받을 주소(url)을 설정

method : 어떤 요청으로 받을지 설정

(GET, POST, PUT, DELETE, PATCH) 등의 요청이 있는데

표준 개발 기구 W3C(World Wide Web Consortium) 에서

PUT, DELETE, PATCH ... 가 과연 유용한 요청인가? 라고 생각했습니다.

그래서 보통은 GET과 POST를 사용합니다.

9. @RequestParam : 요청 파라미터 설정

'Spring > 이론' 카테고리의 다른 글

[Spring] POST요청  (0) 2025.02.11
[Spring] Autowired  (0) 2025.02.10
[Spring] Bean  (0) 2025.02.10
[Spring] 기초 이론  (0) 2025.02.10
[Spring] 초기 세팅  (0) 2025.02.10