@Resource @Autowired @Inject
지원 Java에서 지원 SpringFramework에서 지원,
Dependency 정의 용도의 어노테이션 자동 주입이며 종속적이다. Java에서 지원
사용 위치 필드, 한개의 파라미터인 빈 프로퍼티, setter 메소드 필드,생성자, 여러개인 파라미터 메소드 필드, 생성자, 메소드
연결 또는 검색 방식 이름으로 검색하고, 없으면 타입 타입으로 검색하고, 없으면 이름 타입으로 검색하고, 없으면 이름
특이사항 프레임워크에 종속적
강제 연결 @Resource(name=””) @Qualifier(””)

@Resource

@Resource 어노테이션의 적용 순서

  1. name 속성에 지정한 빈 객체를 찾는다.
  2. name 속성이 없을 경우, 동일한 타입을 갖는 빈 객체를 찾는다.
  3. name 속성이 없고 동일한 타입을 갖는 빈 객체가 두 개 이상일 경우, 같은 이름을 가진 빈 객체를 찾는다.
  4. name 속성이 없고 동일한 타입을 갖는 빈 객체가 두개 이상이고 같은 이름을 가진 빈객체가 없는 경우, @Qualifier를 이용하여 주입할 빈 객체를 찾는다.

@Resource는 이름을 사용하여 자동 주입을 하고, @Autowired는 타입을 사용하여 자동 주입을 한다.

@Autowired