의존객체 선택

2023. 3. 23. 16:46SPRING

의존객체 선택이란?

- 다수의 빈(Bean) 객체 중 의존 객체의 대상이 되는 객체를 선택하는 방법에 대해서 배운다.

 

 

1.

- 동일한 데이터 타입의 객체(Bean)이 스프링 컨테이너에 존재한다고 할 때, @Autowired를 쓰면 자동으로 주입이 되어야 하는데 스프링 컨테이너는 여기에서 헷갈린다.

- 어떤 객체를 주입해야 하는지 헷갈릴 수 있다. 결국 동일한 객체가 2개 이상인 경우 스프링 컨테이너는 자동 주입 대상 객체를 판단하지 못해서 Exception을 발생시킨다.

- 이럴 때, qualifier라는 태그를 사용한다. qualifier는  동일한 객체가 있을 때 qualifier를 붙이면 그 객체를 먼저 쓴다는 뜻이다. 

- @Autowired로 주입하는 객체의 이름과 주입되는 객체의 id가 같으면 에러가 발생되지 않는다. 

 

 

2. 의존객체 자동 주입 체크

 

- @Autowired(required = false)를 주면, 주입을 하고 없으면 Exception을 발생하지 않는다. 

- 거의 쓰지 않는 방법이다. 

 

 

3. @Inject

- @Autowired와 거의 비슷하게 @Inject 어노테이션을 이용해서 의존 객체를 자동으로 주입할 수 있다.

- @Autowired와 차이점이라면 @Autowired의 경우 required 속성을 이용해서 의존 대상 객체가 없어도 익셉션을 피할 수 있지만, @Inject의 경우 required 속성을 지원하지 않는다. 

 

 

'SPRING' 카테고리의 다른 글

스프링 설정 파일 template  (0) 2023.06.19
생명주기(Life Cycle)  (0) 2023.04.19
의존객체 자동 주입  (0) 2023.03.23
스프링 설정 파일 분리  (0) 2023.03.22
DI(Dependency Injection)이란  (0) 2023.03.22