Spring

스프링 | 의존객체 자동주입 태그

개발 공부 2023. 2. 7. 18:06

의존 객체 자동 주입이란?

스프링 설정 파일에서 의존 객체를 주입할 때 <constructor-org> 또는 <property> 태그로 의존 대상 객체를 명시하지 않아도

스프링컨테이너가 자동으로 필요한 의존대상 객체를 찾아서 의존대상 객체가 필요한 객체에 주입해주는 기능이다.

구현 방법은 @Autowired@Resource 어노테이션을 이용해서 쉽게 구현할 수 있다.

의존 객체 자동 주입 태그

@Autowired (required = false)

타입을 기준으로 의존성을 주입,
같은 타입 빈이 두 개 이상 있을 경우 변수 이름으로 빈을 찾음

- Spring 어노테이션

  • @Autowired 타입으로 빈을 주입 -> 없으면 이름으로 찾아서 빈을 주입
  • 생성자, setter, 멤버변수에도 사용 가능

@Qualifier

빈의 이름으로 의존성 주입

@Autowired와 같이 사용

- Spring 어노테이션

  • @Qualifier - 빈 이름의 강제 연결
  • 컨테이너에 동일한 객체가 여러개 있을 때 어느 객체를 주입할지 선택해주는 어노테이션

@Resource

name을 속성을 이용하여 빈의 이름을 직접 지정

- JavaSE의 아노테이션(JDK9에는 포함 안되 있음)

  • @resource - 이름으로 빈을 주입 -> 타입으로 빈을 주입

@Inject

@Autowired 아노테이션을 사용하는 것과 같다

- JavaSE의 아노테이션

 

자동 주입 명령하기

1. 컨테이너에 자동 주입 명령어 선언

<!-- 자동 주입 명령 - context의 모듈의 특정 기능을 필요로 합니다. -->
<context:annotation-config></context:annotation-config>

2. 컨테이너 하단 Namespaces 에서 context 체크