@Autowired
주석은 Spring 프레임 워크에서 정의됩니다.
@Inject
주석은 표준 주석이며 표준 "Dependency Injection for Java"(JSR-330)에 정의되어 있습니다. Spring (버전 3.0부터)은 표준 JSR-330에 정의 된 일반화 된 의존성 주입 모델을 지원합니다. ( Google Guice 프레임 워크 및 Picocontainer 프레임 워크 도이 모델을 지원합니다).
with 인터페이스 @Inject
의 구현에 대한 참조를 주입 할 수 있으며 Provider
이로 인해 지연된 참조를 주입 할 수 있습니다.
주석 @Inject
과 @Autowired
-는 거의 완전한 비유입니다. @Autowired
주석 뿐만 아니라 주석은 @Inject
자동 바인딩 속성, 메서드 및 생성자에 사용할 수 있습니다.
@Autowired
주석 과 달리 @Inject
주석에는 required
속성 이 없습니다 . 따라서 종속성을 찾지 못하면 예외가 발생합니다.
결합 특성의 설명에 차이가 있습니다. 주입을위한 구성 요소 선택에 모호성이있는 경우 @Named
규정 자를 추가해야합니다. @Autowired
주석 과 유사한 상황에서 @Qualifier
한정자 가 추가됩니다 (JSR-330은 고유 한 @Qualifier
주석을 @Named
정의 하고이 한정자를 통해 정의됩니다).