반응형

@Resource 어노테이션

자바 표준,이름으로 찾을때

JSR-250 표준 어노테이션에 속한다.

의존성을 찾는 순서

  1. 이름
  2. 타입
  3. 지정자

@Inject 어노테이션

자바 표준,타입으로 찾을 때

JSR-330 표준 어노테이션에 속한다.

의존성을 찾는 순서

  1. 타입
  2. 지정자
  3. 이름

@Autowired 어노테이션

스프링 표준,타입으로 찾을때

@Autowired 어노테이션은 @Inject 어노테이션과 유사하다.

의존성을 찾는 순서

  1. 타입
  2. 지정자
  3. 이름

참고문헌

https://hilucky.tistory.com/254 [Spring] @Resource, @Inject, @Autowired]
https://www.baeldung.com/spring-annotations-resource-inject-autowire [영문 가이드]

반응형

'Spring > spring framework 기본 및 이론' 카테고리의 다른 글

[Spring] AOP 포인트컷 표현식  (2) 2020.05.15
[Spring] 스케쥴 설정  (0) 2020.05.15
@Autowired @Resource @Inject 차이  (0) 2020.05.10
component 과 bean 의 차이점  (0) 2020.05.10
localeResolver 란  (0) 2020.05.10
반응형

차이

  Autowired Inject Resource
범용 스프링전용 자바에서 지원 자바에서 지원
연결방식 타입에 맞춰서 연결 타입에 맞춰서 연결 이름으로 연결
강제연결 @Qualifier("title")   @Resource(name="title")
@Autowired와 @Inject는 타입에 맞춰서 하는 반면, @Resource는 이름에 맞춰서 연결      

@Autowired

private Chicken penguin;  //Chicken 타입으로 연결

@Inject

private Penguin chicken; //Penguin 타입으로 연결

@Resource

private Chicken penguin;  //penguin 타입으로 연결됩니다만, Chicken 클래스를 자료형으로 두었기에 캐스팅이 되지 않아 에러가 난다.

@Resource

private Bird penguin;      //penguin 타입으로 연결되어 호출해보면 penguin 클래스의 값을 호출

Resource를 추천.

어느 프레임워크에 종속적이지 않기 때문에

이것또한 Bean를 생성하며 싱글톤 패턴이 자동으로 적용.

타입으로 연결 하기 때문에 같은 타입인 여러개의 필드는 오류가 날 것 이다.

반응형

'Spring > spring framework 기본 및 이론' 카테고리의 다른 글

[Spring] 스케쥴 설정  (0) 2020.05.15
[Spring] @Resource @Inject @Autowired 차이  (0) 2020.05.15
component 과 bean 의 차이점  (0) 2020.05.10
localeResolver 란  (0) 2020.05.10
spring webjars란  (0) 2020.05.08

+ Recent posts