List<Exam> exams = new ArrayList<>();
exams.add(new NewlecExam(1,2,3,4));
for(Exam e : exams) {
System.out.println("e : " + e);
}
package spring.di;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import spring.di.entity.Exam;
import spring.di.entity.NewlecExam;
import spring.di.ui.ExamConsole;
import spring.di.ui.GridExamConsole;
import spring.di.ui.InLineExamConsole;
public class Program {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("spring/di/setting.xml");
Exam exam = context.getBean(Exam.class);
System.out.println(exam.toString());
ExamConsole console = (ExamConsole)context.getBean("console");
console.print();
// 컬렉션 이용하기
List<Exam> exams = (List<Exam>)context.getBean("exams");
exams.add(new NewlecExam(10, 20, 30, 40));
for(Exam e : exams) {
System.out.println(e);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="exam" class="spring.di.entity.NewlecExam" p:kor="10" p:eng="20" p:math="30" p:com="40">
</bean>
<bean id="console" class="spring.di.ui.InLineExamConsole">
<property name="exam" ref="exam"></property>
</bean>
<!-- ArrayList(Collection c) -->
<util:list>
<list>
<bean class="spring.di.entity.NewlecExam" p:kor="10" p:eng="20" p:math="30" p:com="40"/>
<ref bean="exam">
<list>
</util:list>
<bean id="exams" class="java.util.ArrayList">
<constructor-arg>
<list>
<!-- 방법 1 -->
<bean class="spring.di.entity.NewlecExam" p:kor="10" p:eng="20" p:math="30" p:com="40"/>
<!-- 방법 2 -->
<ref bean="exam">
<list>
</constructor-arg>
</bean>
</beans>
방법 1,2
<bean id="exams" class="java.util.ArrayList">
<constructor-arg>
<list>
<!-- 방법 1 -->
<bean class="spring.di.entity.NewlecExam" p:kor="10" p:eng="20" p:math="30" p:com="40"/>
<!-- 방법 2 : 이미 injection을 한 `exam` bean을 사용하는 방법-->
<ref bean="exam">
<list>
</constructor-arg>
</bean>
방법3
ArrayList(Collection c)
xmlns:util="http://www.springframework.org/schema/util
추가<util:list>
<list>
<bean class="spring.di.entity.NewlecExam" p:kor="10" p:eng="20" p:math="30" p:com="40"/>
<ref bean="exam">
<list>
</util:list>
exams.add(new NewlecExam(1,2,3,4));
<bean id="exams" class="java.util.ArrayList">
<constructor-arg>
<list>
<bean class="spring.di.entity.NewlecExam"></bean>
<ref bean="exam"></ref>
</list>
</constructor-arg>
</bean>
Spring