/ SPRING

다양한 의존 주입

공부 목표

  • 다양한 의존객체 주입 방법에 대해 알아보자!

생성자를 이용한 의존 객체 주입

왼쪽에 있는 자바코드를 .xml파일로 만든것이다.
생성자에 객체를 주입시 constructor-arg 사용하고 ref에 참조대상을 적는다. 즉 객체가 생성될때 studentDao 객체가 주입이된다.

setter를 이용한 의존객체 주입

위와 같이 왼쪽의 자바코드를 .xml파일로 만든것이며
만들때 property name 속성값을 적을때에 해당하는 setter 이름에서
set을 때고 앞에글자를 소문자로 setJdbcUrl -> jdbcUrl

@Autowired

  • Spring 지원하는 어노테이션
  • 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입
  • 구문을 꼭 xml 설정파일에 추가해야한다.
  • 찾는 순서 : 타입 -> 이름 -> @Qualifier -> 실패
  • 멤버변수, 메소드, 생성자 적용가능

@Resource

  • Java에서 지원하는 어노테이션 , 프레임워크에 종속적이지 않다.
  • 기본생성자 무조건 만들어주어야함!
  • 이름 -> 타입 -> @Qualifier -> 실패
  • @Resource(name="")으로 직접이름지정 할 수있음
  • 구문을 꼭 xml 설정파일에 추가해야한다.
  • 멤버변수, setter 메소드 ||| 생성자는 안됨!

@Inject

  • Java에서 지원하는 어노테이션 , 프레임워크에 종속적이지 않다.
  • 타입 -> @Qualifier-> 이름 -> 실패
  • Inject를 사용하기 위해서는 maven or gradle에 javax 라이브러리 의존성 추가
  • java파일에서 @Inject @Named(value="id값")으로 bean객체 지정가능
  • 멤버변수, 메소드, 생성자

@Qulifier

  • 동일한 객체가 여러개 있을시
  • Autowired 사용하면 자동 주입 대상 객체를 판단하지 못해 Exception 발생
  • 그래서 .xml bean태그안에 Qualifier태그로 value 값 명시 후
  • Autowired밑에 @Qualifier("value값")지정</li </ul>

    References.