최대 1 분 소요

@Inject vs @Autowired

@Inject 및 @Autowired 두 주석은 응용 프로그램에서 자동 의존성주입에 사용됩니다. @Inject 어노테이션은 Java 6에 도입 된 Java CDI의 일부인 반면 @Autowire 어노테이션은 스프링프레임워크의 일부. 두 어노테이션 모두 동일한 목적을 수행하므로 응용프로그램에서 사용할 수 있는 어노테이션.

Sr. No. Key @Inject @Autowired
1 Basic 그것은 자바 CDI의 일부입니다 스프링 프레임 워크의 일부입니다.
2 Required required 속성이 없습니다. required속성이 있습니다.
3 Default Scope autowire 기본 범위는 싱글톤입니다. 주입 빈의 기본 범위는 prototype입니다.
4 Ambiguity 주입을 위해 빈에 모호성이있는 경우 코드에 @Named해야합니다 주입을 위해 Bean에 모호한 경우 코드에 @Qualifer 추가해야합니다.
5 Advantage Java CDI의 일부이므로 DI 프레임워크에 의존하지 않습니다. 시스템을 느슨하게 결합합니다.

응용 프로그램을 Spring 프레임워크와 밀접하게 결합시킵니다. 나중에 다른 DI 프레임워크로 이동하려면 응용 프로그램을 다시 구성해야합니다.

@Injection 어노테이션 예시

public class InjectionExample {
   @Inject
   private CarBean carbean;
}

@Autowired 어노테이션 예시

public class AutowiredExample {
   @Autowired
   private CarBean carbean;
}

댓글남기기