반응형
예전 포스팅에서 의존관계 생성자 주입에 대해서 다룬 포스팅이 있다.
자세한 내용은 참고 포스팅을 참고 바란다.
코드에서 Bean을 불러오는 코드가 아래와 같이 있다.
@Autowired public void method(Test test) { System.out.println("TestBean = " + test); } |
겉으로만 봤을땐 문제가 없어보이지만 문제가 생기는 경우는 Test라는 클래스가 Bean에 들어가있지 않을 경우에 에러가 난다.
그럴 경우엔 3가지 방식으로 회피를 할수 있다.
- autowired(required=false)
필수값 설정을 false로 설정
@Autowired(required=false) public void method(Test test) { System.out.println("TestBean = " + test); } |
- @Nullable
입력변수를 null 허용함
@Autowired public void method(@Nullable Test test) { System.out.println("TestBean = " + test); } |
- Optional 사용
값이 있으면 Optional안에 Test를 넣고 없으면 Optional 안에 empty를 넣어서 반환
@Autowired public void method(Optional<Test> test) { System.out.println("TestBean = " + test); } |
Test가 없을 경우 위 3개의 테스트를 출력하면 아래와 같다.
- autowired(required=false)
출력값 없음 - @Nullable
TestBean = null - Optional 사용
TestBean =Optional.empty
참고 포스팅
https://thenicesj.tistory.com/442
반응형
'IT > Java' 카테고리의 다른 글
Queue (LinkedList) 사용법 (63) | 2023.07.26 |
---|---|
Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed (82) | 2023.07.23 |
디컴파일에 대해(.jar 파일, .class파일) (32) | 2023.07.21 |
Log level 에 대해 (61) | 2023.07.17 |
spring.main.allow-bean-definition-overriding=true 자바Bean중복 에러 (50) | 2023.07.15 |
댓글