모든지 기록하자!

Spring Annotation 본문

Spring

Spring Annotation

홍크 2021. 7. 12. 00:51
728x90

@Autowired

필요한 의존 객체의 타입에 해당하는 빈을 찾아 주입한다. 

- 생성자

- setter

- 필드 

위의 3가지의 경우에 Autowired를 사용할 수 있다. 그리고 Autowired는 기본값이 true이기 때문에 의존성 주입을 할 대상을 찾지 못한다면 애플리케이션 구동에 실패한다.

 

@Controller

컨트롤러 : @Controller (프레젠테이션 레이어, 웹 요청과 응답을 처리함)

 

@Service

로직 처리 : @Service (서비스 레이어, 내부에서 자바 로직을 처리함)

 

@Repository

외부 I/O 처리 : @Repository (퍼시스턴스 레이어, DB나 파일 같은 외부 I/O 작업을 처리함)

 

@ResponseBody

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

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

 

@RequestMapping

DefaultAnnotationHandlerMapping에서 컨트롤러를 선택할 때 대표적으로 사용하는 에너테이션이다.

 

사용 예시

@RequestMapping(value = "login.do", method = RequestMethod.GET)

 

value = URL 패턴을 지정하는 속성

method = HTTP 메서드를 정의한 ENUM, GET, POST, PUT, DELETE, OPTIONS, TRACE로 총 7개의 HTTP 메서드가 정의되어 있다.

params = 요청 파라미터와 값으로도 구분할 수 있다. String 배열로 여러 개를 지정할 수 있으며, 아래와 같이 사용 가능하다.

// /post?useYn=Y 일 경우 호출됨
@RequestMapping(value="/post", params="useYn=Y")

// not equal도 가능
@RequestMapping(value="/post", params="useYn!=Y")

// 값에 상관없이 파라미터에 useYn이 있을 경우 호출됨
@RequestMapping(value="/post", parmas="useYn")

// 파라미터에 useYn이 없어야 호출됨
@RequestMapping(value="/post", params="!useYn")

 

 

참고

https://joont92.github.io/spring/@RequestMapping/

https://devlog-wjdrbs96.tistory.com/166

728x90

'Spring' 카테고리의 다른 글

[Spring] Spring 과 Spring Boot 의 차이점은?  (0) 2022.01.01
AOP란 무엇인가  (0) 2021.11.11
DI란 무엇인가  (0) 2021.11.11
[스프링, JSP] 모달창 리스트에 적용시키기  (0) 2021.09.02
Comments