Spring Framework에서 @Resource 어노테이션은 의존성 주입(Dependency Injection)을 위해 사용된다.
이 어노테이션은 JDK 1.6 이상에서 지원되며, 자바 표준 어노테이션(JSR-250)이다.
@Resource와 @Autowired를 비교해보면 의미를 이해하기 쉬울 것이다.
@Autowired
- 타입(클래스)로 Bean을 지정한다
- 생성자/필드/메서드에 모두 적용 가능
@Resource
- Name으로 Bean을 지정한다.
- 필드/메서드에만 적용 가능
@Autowired 어노테이션은 타입을 이용해서 의존성을 주입,
@Resource 어노테이션은 빈 이름을 이용해서 의존성을 주입한다.
@Resource 어노테이션의 적용 순서
- name 속성에 지정한 빈 객체를 찾는다.
- name 속성이 없을 경우, 동일한 타입을 갖는 빈 객체를 찾는다.
- name 속성이 없고 동일한 타입을 갖는 빈 객체가 두 개 이상일 경우, 같은 이름을 가진 빈 객체를 찾는다.
- name 속성이 없고 동일한 타입을 갖는 빈 객체가 두 개 이상이고, 같은 이름을 가진 빈 객체가 없는 경우 @Qualifier를 이용해서 주입할 빈 객체를 찾는다.
'Spring Boot > STUDY' 카테고리의 다른 글
[Spring Boot] @Valid을 통한 게시글 등록 유효성 검사 (1) | 2024.06.19 |
---|---|
[Spring Boot] JPA 프로젝트 - Thymeleaf로 레이아웃 템플릿 생성 (0) | 2024.06.19 |
[Spring Boot] Spring Boot JPA 프로젝트 테스트 및 오류 해결 (0) | 2024.06.18 |
[Spring Boot] Spring Boot H2, Oracle, JPA (0) | 2024.06.17 |
[Spring Boot]VSCode Spring Boot 환경설정 (0) | 2024.06.12 |