컬렉션 및 목록 DI (XML)
Section 1. 컬렉션 DI
1. 컬렉션 DI
- Java 에서 제공하는 컬렉션 (ArrayList 등) 객체를 DI
- 생성자 DI 원리를 이용
<bean id ="exam" class = "spring.di.entity.Exam" p:kor="10" p:eng="10"/>
<bean id="exams" class="java.util.ArrayList">
<constructor-arg> // ArrayList 는 컬렉션을 매개변수로 받는 생성자가 존재
<list> // ArrayList 의 요소 생성 및 삽입
<bean class = "spring.di.entity.Exam" p:kor="20" p:eng="10"/>
<ref bean="exam"/> // 위에 존재하는 exam bean 객체 삽입
</list>
</constructor-arg>
</bean>
// main 부분
List<Exam> exams = (List<Exam>) context.getBean("exams");
for(Exam e: exams) {
System.out.println(e.getKor()); // 10, 20 출력
}
2. 생성자 DI 방식이 아닌 컬렉션 객체 생성
- util Namespace 불러오기
- xmlns:util="http://www.springframework.org/schema/util" 추가됨
- ArrayList 생성자로 요소를 넣는 것이 아닌 직접 컬렉션 객체 생성
// util 처리기가 list 요소를 처리함
<util:list id="exams" list-class="java.util.ArrayList">
<bean class = "spring.di.entity.Exam" p:kor="10" p:eng="10"/>
<ref bean="exam"/>
</util:list>
3. Setter DI 이용
- CollectionBean 클래스
public class CollectionBean{
private List<String> addressList;
public void setAddressList(List<String> addressList){
this.addressList = addressList;
}
public List<String> getAddressList(){
return addressList;
}
}
- Spring Bean Configuration File 설정
<bean id="tv" class="spring.di.entity.CollectionBean">
<property name="addressList"> // setAddressList setter 메서드
<list>
<value>서울시 강남구 역삼동</value>
<value>서울시 성동구 행당동</value>
</list>
</property>
</bean>
- main 부분
CollectionBean address = context.getBean(CollectionBean.class);
for(String str: address.getAddressList()) {
System.out.println(str);
}
Author And Source
이 문제에 관하여(컬렉션 및 목록 DI (XML)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/컬렉션-생성과-목록-DI저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)