スプリング(3番目)


package com.javalec.ex;

import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String configLocation = "classpath:applicationCTX.xml";
		AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation);
		StudentInfo studentInfo = ctx.getBean("studentInfo",StudentInfo.class);
		studentInfo.getStudentInfo();
		
		Student student2 = ctx.getBean("student2",Student.class);
		studentInfo.setStudent(student2);
		studentInfo.getStudentInfo();
		
		ctx.close();
	}

}
変数configに.xmlファイルを文字列として保存します.
GenericXmlApplicationContext(config)を使用して設定ファイルを取得します.
オブジェクトctxはです.xmlでオブジェクトを作成できます.
ctx.getBeanとして参照するオブジェクトとクラスを読み込みます.
最初のgetStudentInfoはstudent 1のオブジェクトを参照します.
2番目のgetStudentInfoはstudent 2のオブジェクトを参照します.
package com.javalec.ex;

public class Student {
	
	private String name;
	private String age;
	private String gradeNum;
	private String classNum;
	
	public Student(String name, String age, String gradeNum, String classNum) {
		this.name = name;
		this.age = age;
		this.gradeNum = gradeNum;
		this.classNum = classNum;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name= name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getGradeNum() {
		return gradeNum;
	}
	public String getClassNum() {
		return classNum;
	}
	}
Studentクラスは、コンストラクション関数を使用してフィールドを完了します.
package com.javalec.ex;

public class StudentInfo {
	
	private Student student;
	
	public StudentInfo (Student student) {
		this.student = student;
	}
	
	public void getStudentInfo() {
		if(student !=null) {
			System.out.println("이름 :"+student.getName() );
			System.out.println("나이 :"+student.getAge() );
			System.out.println("학년 :"+student.getGradeNum() );
			System.out.println("반 :"+student.getClassNum() );
			System.out.println("========================" );
		
		
		}
	}

		public void setStudent(Student student) {
			this.student = student;
		}
}
Studio Infoクラスは、出力されるクラスです.getStudentInfoメソッドは、参照するオブジェクトに応じて異なる結果値を表示します.student 1とstudent 2があります.
setStudioメソッドには、次のものがあります.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

	<bean id="student1" class="com.javalec.ex.Student">
		<constructor-arg>
			<value>홍길동</value>
		</constructor-arg>
		<constructor-arg>
			<value>10살</value>
		</constructor-arg>
		<constructor-arg>
			<value>3학년</value>
		</constructor-arg>
		<constructor-arg>
			<value>20번</value>
		</constructor-arg>
	</bean>
	
	<bean id = "student2" class="com.javalec.ex.Student">
		<constructor-arg value="홍길동" />
		<constructor-arg value="9살" />
		<constructor-arg value="2학년" />
		<constructor-arg value="10번" />
	</bean>
	<bean id ="studentInfo" class="com.javalec.ex.StudentInfo">
		<constructor-arg>
			<ref bean = "student1"/>
		</constructor-arg>
	</bean>
</beans>
.xmlファイルでは、Studioクラスにstudent 1,2オブジェクトが含まれます.StudentInfoのオブジェクトはstudent 1を参照します.
描くとこんな感じ