본문 바로가기

대덕공부/Spring

의존객체자동주입

https://transferhwang.tistory.com/102

 

[Spring] 의존 객체 자동주입

의존 객체 자동 주입이란 스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상

transferhwang.tistory.com

https://libtv.github.io/spring-num7

 

자동객체주입은 @AutoWired @Resource 가 있다.
@AutoWired 생성자, Property, method 사용 가능하며 bean 객체의 Class로 구별하여 의존객체를 자동적으로 주입한다.
@Resource Property, method 사용 가능하며 bean 객체의 id를 구별하여 의존객체를 자동적으로 주입한다.

 

  • 의존 객체 자동 주입(Automatic Dependency Injection)스프링 설정 파일에서 혹은 태그로 의존 객체 대상을 명시하지 않아도 스프링 컨테이너가 자동적으로 의존 대상 객체를 찾아 해당 객체에 필요한 의존성을 주입하는 것
  1. @Resource
  • Java에서 지원하는 어노테이션
  • 특정 프레임워크에 종속적이지 않음
  • 찾는 순서: 이름 -> 타입 -> @Qualifier -> 실패
  • <context:annotation-config/> 구문을 꼭 xml 설정파일에 추가해야함
  • 사용할 수 있는 위치: 멤버변수, setter 메소드
  1. @Autowired
  • Spring에서 지원하는 어노테이션
  • 찾는 순서: 타입 -> 이름 -> @Qualifier -> 실패
  • 주입하려고 하는 객체의 타입이 일치하는지를 찾고 객체를 자동으로 주입
  • 타입이 존재하지 않는다면 @Autowired에 위치한 속성명이 일치하는 bean을 컨테이너에서 찾음
  • <context:annotation-config/> 구문을 xml 설정파일에 추가해야함
  • 사용할 수 있는 위치: 멤버변수, setter메소드, 생성자, 일반 메소드
  1. @Inject
  • Java에서 지원하는 어노테이션
  • 특정 프레임워크에 종속적이지 않음
  • 찾는 순서: 타입 -> @Qualifier-> 이름 -> 실패
  • @Aurowired와 동일하게 작동하지만 찾는 순서가 다름
  • @Inject를 사용하기 위해서는 maven이나 gradle에 javax 라이브러리 의존성을 추가해야함
  • 사용할 수 있는 위치: setter 메소드, 생성자, 일반 메소드