본문 바로가기
카테고리 없음

김영한 인프런7 옵션처리

by ernest45 2024. 1. 1.

 

빈으로 등록되지 않았을 때 의존성 주입을 하게 된다면

 

일단 첫째로

setBean1 같은 경우에 @Autowired의 기본 값이 required = true 로 설정 해 줬을 시 찾지 못한다고 오류가 나타남

 

그래서

 

 

setNoBean1을

false 값으로 바꿔서 테스트 해보니까 통과는 되는데 호출 자체가 안되는 것을 볼 수 있다.

 

즉! 자동주입할 대상이 없다면 메서드 호출 자체가 안되는 거을 볼 수 있다.

 

2번째

setNoBean2(@nullable) 의 경우 NoBean이 = null 값이 찍힌 걸 볼 수 있다. 호출은 가능하나, null 값이 들어오고,

 

 

3번째

자바 8의 Optional의 기능인데, 감싸진 empty의 값을 넣어준다. 값이 있으면 그 값을 넣어주고 없으면 empty 반환!

 

 

 

정리하자면 스프링 빈이 아닌 객체를 자동주입 했을때의 결과들을 알아봤고,

@Nullable과 Optional은 스프링에서 자주 쓰인다 !