@Autowired
public void setMemberRepository(MemberRepository repository){
this.memberRepository = repository;
}
기존으로 주입할 빈(MemberRepository
)이 존재하지 않는다면 에러를 뱉어낸다.
@Autowired(required = false)
public void setMemberRepository(MemberRepository repository){
this.memberRepository = repository;
}
필수적이지 않은 의존관계의 경우 주입할 빈이 없다면 (required = false)
을 이용해 수정자가 자체가 호출되지 않게 한다.
@Autowired
public void setMemberRepository(@Nullable MemberRepository repository){
this.memberRepository = repository;
}
@Nullable 을 이용해 대상 빈이 등록되어 있지 않아도 null을 반환하고 수정자가 호출된다.
@Autowired
public void setMemberRepository(Optional<MemberRepository> repository){
this.memberRepository = repository.get();
}
java8 문법 Optional을 이용해 빈이 등록되어 있지 않으면 Optional.empty를 반환하고 수정자가 호출된다.