복붙노트

[SPRING] Spring 설정에서 빈 arraylists를 초기화 하시겠습니까?

SPRING

Spring 설정에서 빈 arraylists를 초기화 하시겠습니까?

저는 Spring을 배우고 Spring in Action 책을 읽었습니다. 나는 빈 arraylist (만약 가능하다면)를 주입하거나 아래의 예제처럼 만들겠습니까?

public class StackOverflow {

    private List<Car> cars;

    public StackOverflow() {
        cars = new ArrayList<Car>();
    }
}

해결법

  1. ==============================

    1.이런 식으로 빈 목록을 삽입 할 수는 있지만 예제 템플릿 스프링 XML 설정을 설정하지 않는 한 이것은 아마도 불필요 할 것입니다.

    이런 식으로 빈 목록을 삽입 할 수는 있지만 예제 템플릿 스프링 XML 설정을 설정하지 않는 한 이것은 아마도 불필요 할 것입니다.

    <property name="cars">
      <list></list>
    </property>
    

    널 포인터 문제를 방지하기 위해 빈리스트를 빠르게 설정하려면 Collections.emptyList ()를 사용하면된다. 다음과 같이 "인라인"으로 처리 할 수도 있습니다. 참고로 Collections.emptyList ()는 수정할 수없는 목록을 반환합니다.

    public class StackOverflow {
    
        private List<Car> cars = Collections.emptyList();
    

    또한 자동차 용 getter 및 setter를 봄 XML에서 사용할 수 있어야합니다.

  2. ==============================

    2.너는 이렇게 할 수있어.

    너는 이렇게 할 수있어.

    <util:list id="emptyList"
               value-type="Cars">
    </util:list>
    

    와 함께 뭔가가있다.

    public static interface Car
    {
       String getName();
    }
    
  3. ==============================

    3.나는이 대답에 문제가 있었다. 나는 당신이 콜렉션을 열 때 Spring이 불평하지만, 그 포스트의 예제에서 주어진 것처럼 어떤 항목도 추가하지 않는다고 생각한다. 그래도 문제가 해결되지 않으면 아래 방법을 시도해보십시오. 그것은 util : set을 위해 나를 위해 일했습니다.

    나는이 대답에 문제가 있었다. 나는 당신이 콜렉션을 열 때 Spring이 불평하지만, 그 포스트의 예제에서 주어진 것처럼 어떤 항목도 추가하지 않는다고 생각한다. 그래도 문제가 해결되지 않으면 아래 방법을 시도해보십시오. 그것은 util : set을 위해 나를 위해 일했습니다.

    <util:list id="emptyList" value-type="Cars"/>
    
  4. ==============================

    4.클래스 (이 경우에는 StackOverflow)가 Spring을 통해 인스턴스화되는 한, autowiring을 사용하여 Spring이 관리하는 모든 Car 유형을 주입 할 수 있습니다.

    클래스 (이 경우에는 StackOverflow)가 Spring을 통해 인스턴스화되는 한, autowiring을 사용하여 Spring이 관리하는 모든 Car 유형을 주입 할 수 있습니다.

    @Autowire
    private List<Car> cars;
    
  5. from https://stackoverflow.com/questions/9663660/initialize-empty-arraylists-in-spring-configuration by cc-by-sa and MIT license