메모장

@ 어노테이션의 종류 본문

Spring/개념정리

@ 어노테이션의 종류

Itchild 2024. 6. 21. 09:11
728x90
반응형

 

지금 까지 배운 내용들 중심으로 @ 어노테이션의 종류에 대해 정리 해보았다.

 

@Component (스프링 컨테이너) ★★★★★

개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 Annotation 이다. new 객체화 해주는 역할

 

@Autowired★★★★★

의존관계 주입(DI)을 할 때 사용하는 어노테이션(Annotation)이며,

의존 객체의 타입에 해당하는 빈(Bean)을 찾아 주입하는 역할을 한다.

 

@Webservlet (서블릿 컨테이너)★★★

얘가 유사 new 이다. 이걸 해주면 new를 해주라고 약속했는데 web.xml이랑 약속을 했다.

web.xml은 톰캣 == 서블릿 컨테이너

== 서블릿을 new해주는 주체

== new 뿐만 아니라 생성시점, 호출 시점들도 관리 가능

 

@Component ( 다들 new 는 기본적이고 조금씩 다른 특징이 있다.)

1) @Repository ★★★★

DB나 파일같은 외부 I/O 작업을 처리함 (Model파트 , DAO 에서 실행 될때 )

스프링 컨테이너가 메모리를 관리하기에 유리 -> 속도향상

xxxDAO 라고 DAO라고 이름이 안붙을수도 있음 -> @Repository 덕분에ㅔ

 

2) @Service (C, Service 레이어에서 활용됨)★★★★

클래스 류 뒤에 Impl 가 붙어있으면 뭔가의 기능을 이 클래스 로 구현한 것이다.

Service 레이어에서는 DAO 를 사용함

멤버변수로 boardDao를 가지고 있고 의존 관계 이다. == (Controller파트 , Service 레이어에서 활용됨)

DAO를 사용할 것이기 때문에

DAO와 메서드 시그니처를 맞추면 유리함. 메서드 시그니처를 강제하고 싶다면? => 인터페이스

 

3) @Controller ★★★★

Controller 파트 , implements Controller를 대신한다.

implements Controller 가 없어지면 메서드 강제성이 없어지고 메서드시그니처가 고정되어있지 않음.

Command 객체 사용도 가능해진다.

 

(1) @RequestMapping (value="/login.do") ★★★★

언제 동작해 ? login.do 요청 일때

 

(2) @ModelAttribute("이름");★

- C와 V 에서 데이터가 오고가고 잘 되는지를 Controller가 확인 하고 싶을 때,

@ModelAttribute("이름") 어노테이션을 사용해서, 객체를 View 에게 넘겨준다.

 

- view에서 사용할 데이터를 세팅하려는 목적으로 활용하는 @ 어노테이션 으로

@을 사용함으로써 view 에서 지정한 "특정이름" 을 쓸 수 있게 된다. << 더 잘 쓰이는 용도

(3) @RequestParam

커맨트 객체에 없는값을 받으려고 할때

 

728x90
반응형