목차

1. Collection

  • 자바코드
    List<Exam> exams = new ArrayList<>();
	exams.add(new NewlecExam(1,2,3,4));
		
    for(Exam e : exams) {
        System.out.println("e : " + e);
    }

1.1.1. Program (Main)

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);
        }

	}

}

1.1.2. setting.xml DI

<?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 부여하기
<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>

1.1.3. 콘솔

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>

Reference

profile
안녕하세요:)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN