-
[Spring] 콜렉션 생성과 DI프로그래밍 공부/Spring 2021. 4. 30. 10:39
뉴렉처 강사님의 동영상 강의를 정리한 글입니다.
ArrayList를 xml을 통해 생성하고 DI 해봅니다.
1. xml을 통해 ArrayList만 생성하고 요소는 코드에서 넣기
setting.xml
<bean id="exams" class="java.util.ArrayList"></bean>
Program.java
List<Exam> exams = (List<Exam>) context.getBean("exams"); exams.add(new NewlecExam(1,1,1,1)); for(Exam e: exams) System.out.println(e);
2. ArrayList 생성자를 이용하여 xml 파일에서 요소까지 넣기
list Collection을 추가한 생성자를 통해 ArrayList 생성
setting.xml
<bean id="exam" class="spring.di.entity.NewlecExam" p:kor="10" p:eng="10" p:math="10" p:com="10"/> <bean id="exams" class="java.util.ArrayList"> <constructor-arg> <list> <bean class="spring.di.entity.NewlecExam" p:kor="1" p:eng="1" p:math="1" p:com="1"/> <ref bean ="exam"></ref> </list> </constructor-arg> </bean>
1) constructor-arg 태그를 이용
2) list 태그를 이용하여 Collection형으로 넣어줌
3) bean 태그를 이용하여 넣어줄 요소 생성
4) 이전에 만든 객체 넣어줄 때는 ref 태그 이용
3. util:list 이용: list 컬렉션을 개별적으로 만들기
먼저 Namespaces에서 util을 체크해준다.
setting.xml
<util:list id="exams" list-class="java.util.ArrayList"> <bean class="spring.di.entity.NewlecExam" p:kor="1" p:eng="1" p:math="1" p:com="1"/> <ref bean ="exam"></ref> </util:list>
이때, util:list는 list와 다르다.
list는 실제 객체를 생성해주는 것이 아니고 list를 setting 할 때 사용하는 태그이고,
util:list는 실제 객체를 만든다. 따라서 id 값을 지정해주어야 한다.
또한 list-class 필드를 이용하여 어떤 class를 사용하여 list를 만들지 정해주어야 한다.
'프로그래밍 공부 > Spring' 카테고리의 다른 글
[Spring] @Autowired와 @Qualifier (0) 2021.04.30 [Spring] Annotation 이용의 장점과 @Autowired를 이용한 DI (0) 2021.04.30 [Spring] 생성자 DI (0) 2021.04.29 [Spring] 값 형식 DI (0) 2021.04.29 [Spring] IoC 컨테이너 사용하기 (ApplicationContext 이용하기) (0) 2021.04.29