최대 1 분 소요

Spring

@Autowired의 위치

  • setter 위
    image
    setter함수가 호출되면서 injection이 수행됨

  • field 위
    image
    기본 생성자를 호출하면서 injection이 수행됨
    기본 생성자가 없다면 error발생(위 코드와 같은 경우 오류 발생)

  • overload 생성자 위
    image
    overload 생성자에서 객체를 바인딩
    picture 2

위와 같이하게 되면 @Qualifier에 오류가 발생한다
overload생성자 같은 경우에 Exam을 두 개 이상 넣을 수 있다고 생각해서 오류가 발생하게 되는 것!

👇

파라미터 각자에 @Qualifier을 설정해서 해결
image

@Autowired의 required 속성

image
exam2라는 bean이 없는경우 어떻게 동작하는지 설정할 수 있는 속성이다.
required=false로 설정을 하게 되면 해당 bean이 없는경우 null이 된다.
print()문에서 null 조건 처리를 할 수 있게 됨.(xml파일에 드래그 된 부분이 주석처리 되어서 bean이 없는 경우이다.)

카테고리:

업데이트:

댓글남기기