TIL/Java & Spring Boot
주입할 스프링 빈이 없어도 동작해야 하는 경우
삼공비
2024. 6. 3. 00:48
- 3가지 방법이 있다
- @Autowired에 required false 옵션을 준다
- false 옵션을 주면 해당 빈이 없는 경우에는 아래 메서드를 아예 실행 시키지 않는다
@Autowired(required = false)
public void setNoBean1(Member noBean1) {
콘솔 출력
}
- 주입 받아야하는 빈에 @Nullable 어노테이션을 달아준다
- 빈이 없는 경우에는 null을 반환한다
@Autowired
public void setNoBean1(@Nullable Member noBean1) {
콘솔 출력
}
- 빈을 Optional로 감싸준다
- 빈이 없는 경우 Optional.empty를 반환한다
@Autowired(required = false)
public void setNoBean1(Optional<Member> noBean1) {
콘솔 출력
}