Bean 의존관계 주입 Annotation
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를 같이 사용해야 합니다. |