Bean 의존관계 주입 Annotation

CODEDRAGON Development/Spring

반응형


 

 

Bean 의존관계 주입 Annotation

@Autowired, @Resource 어노테이션은 의존하는 객체를 자동으로 주입해 주는 어노테이션입니다.

@Autowired 타입(Type)으로, @Resource 이름(Name)으로 연결한다는 점이 다릅니다.

 

어노테이션

설명

@Autowired

·         스프링DI에서 사용되는 어노테이션입니다.

·         해당 참조 변수에 자동으로 Bean 객체를 매핑해 줍니다.

·         스프링 Bean 설정 파일을 읽기 위해 GenericXmlApplicationContext 사용할 필요가 없습니다.

·         정밀한 의존관계 주입 (Dependency Injection) 필요한 경우에 적용합니다.

·         @Autowired 프로퍼티(필드), setter 메서드, 생성자, 일반메서드에 적용 가능합니다.

·         의존하는 객체를 주입할 주로 Type 이용합니다.

·         @Autowired <property>, <constructor-arg> 태그와 동일한 역할을 합니다.

@Resource

·         어플리케이션에서 필요로 하는 자원을 자동 연결할 사용합니다.

·         @Resource 프로퍼티, setter 메서드에 적용 가능합니다.

·         의존하는 객체를 주입할 주로 Name 이용합니다.

@Value

·         단순한 값을 주입할 사용되는 어노테이션입니다.

·         @Value(Spring) <property .. value=Spring /> 동일한 역할을 합니다.

@Qualifier

·         @Qualifier @Autowired 어노테이션과 같이 사용되어 집니다.

·         @Autowired 타입으로 찾아서 주입하므로, 동일한 타입의 Bean객체가 여러 존재할 특정 Bean 찾기 위해서는 @Qualifier 같이 사용해야 합니다.