[SPRING] 스프링에 콩이 없다면 빈 콜렉션을 쉽게 불러올 수 있습니까?
SPRING스프링에 콩이 없다면 빈 콜렉션을 쉽게 불러올 수 있습니까?
@Autowired List
추가 (required = false)하면 빈에 대해 null이 반환됩니다. 하지만 null 검사가 필요한 오류가 발생하기 쉬운 솔루션처럼 보입니다.
콩이없는 경우 빈 모음을 자동으로 불러오는 쉬운 방법이 있습니까?
해결법
-
==============================
1.필드가 명시 적으로 null로 설정 되었습니까? 아니면 단순히 설정되지 않습니다. 이니셜 라이저 표현식을 추가해보십시오.
필드가 명시 적으로 null로 설정 되었습니까? 아니면 단순히 설정되지 않습니다. 이니셜 라이저 표현식을 추가해보십시오.
@Autowired List<SomeBeanClass> beans = new ArrayList<>();
-
==============================
2.Spring 4 및 Java 8에는 몇 가지 옵션이 있습니다.
Spring 4 및 Java 8에는 몇 가지 옵션이 있습니다.
@Autowired(required=false) private List<Foo> providers = new ArrayList<>();
java.util.Optional을 생성자와 함께 사용할 수도 있습니다.
@Autowired public MyClass(Optional<List<Foo>> opFoo) { this.foo = opFoo.orElseGet(ArrayList::new); }
Optional
- > opFoo;로 필드를 autowire 할 수도 있어야하지만 아직 사용하지 않았습니다.
from https://stackoverflow.com/questions/19299114/is-there-an-easy-way-to-autowire-empty-collection-if-no-beans-present-in-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] @Autowired vs 세터에 필요 @ (0) | 2019.04.03 |
---|---|
[SPRING] 다중 경로가있는 봄 보안 http antMatcher (0) | 2019.04.03 |
[SPRING] 스프링은 CDI를 지원합니까? [닫은] (0) | 2019.04.03 |
[SPRING] Hibernate 4.0.1에서 Spring 3.1을 사용할 때 java.lang.ClassNotFoundException : org.hibernate.util.DTDEntityResolver를 어떻게 해결할 수 있습니까? (0) | 2019.04.03 |
[SPRING] 실시간 통지 전자 메일을 구현하기위한 Quartz와의 Full Spring 통합 (0) | 2019.04.03 |