개발/spring

Spring 의존성 주입 어노테이션

나태쿤 2021. 2. 13. 03:01
728x90

자주 사용하는 어노테이션을 설명하려한다

 

클래스위에 @Component를 설정하여 객체를 자동생성하는데

@Component("natae") 이런식으로 이름을 줄수있다.

그리고 이를 좀더 세분화하여 세가지 어노테이션을 사용할수있다

 

비즈니스 로직을 처리하는 Service 클래스의 경우 @Service

데이터베이스 연동을 처리하는 DAO 클래스의 경우 @Repository

사용자의 요청을 제어하는 Controller 클래스의 경우 @Controller

이 세 친구들도 이름을 줄수있다.

 


 

@Autowired

주로 변수위에 설정하고, 해당 타입의 객체를 찾아서 자동으로 주입한다 

(어디서 만든걸 찾을까? bean설정으로 만들어진걸 메모리에서 찾는다.)

 

@Qualifier

특정 객체의 이름을 이용하여 의존성 주입할때 사용한다.

포인트는 이름이다, 같은타입의 객체가 두개 이상이여서 골라야하는상황에서 사용한다.

이름으로 골라주면된다

 

@Autowired밑에

@Qualifier("natae") 이런식으로 

private NATAE natae; NATAE라는 객체가 2개이상 생성되었다면 그중 

이름이 natae인 객체가 주입된다

 

@Resource

위의 두개를 더한 기능이다 , 이름으로 골라주면된다

@Resource(name="natae")

private NATAE natae;

요런식으로 쓰면된다

 

 

728x90