@Resource 어노테이션이란?
@Autowired와 같은 역할을 한다고 보면된다.
@Resource 어노테이션은 빈의 이름을 이용해서 주입할 객체를 검색한다.
@Resource 어노테이션을 사용하려면 앞서 @Autowired 어노테이션과 마찬가지로 다음의 두가지만 추가하면된다.
- 자동 주입 대상에 @Resource 어노테이션 사용
- XML설정에 <context:annotation-config />설정 추가
- @Resource 어노테이션은 빈의 이름을 사용해서 주입할 빈 객체를 찾기 때문에, @Resource 어노테이션의 값으로 빈 객체의 이름을 지정한다.
@Autowired와 @Resource, @Inject의 차이점
1. @Autowired : 타입(클래스)로 Bean을 지정한다.(생성자/필드/메서드에 모두 적용 가능)
2. @Resource : Name으로 Bean을 지정한다.(필드/메서드에만 적용 가능)
@Autowired 어노테이션이 타입을 이용해서 의존성을 주입한다면, @Resource 어노테이션은 빈 이름을 이용해서 의존성을 주입한다.
3. @Inject는 @Autowired와 유사하게 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입한다.
@Repository
public class CommonDao {
@Autowired
private SqlSessionTemplate sqlSession;
@Inject
private SqlSessionTemplate sqlSession;
@Resource(name="SqlSessionTemplate")
private SqlSessionTemplate sqlSession;
}
'프레임워크 > 스프링' 카테고리의 다른 글
[Spring] 로그 추적기 파라미터로 동기화 개발 (0) | 2022.11.01 |
---|---|
[Spring] 로그 추적기 프로토타입 개발 (0) | 2022.10.31 |
[Spring] 웹 스코프 (0) | 2022.10.26 |
[Spring] 빈 스코프 - 싱글톤 빈, 프로토타입 스코프 (0) | 2022.10.25 |
[Spring] 스프링 AOP (0) | 2022.09.30 |