강의_5장_01_DI활용.pdf
package cm.lgy.spring5_1;
public class Student {
private String name;
private int age;
private int gradeNum;
private int classNum;
/***** 생성자 추가 *****/
public Student(String name, int age, int gradeNum, int 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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getGradeNum() {
return gradeNum;
}
public void setGradeNum(int gradeNum) {
this.gradeNum = gradeNum;
}
public int getClassNum() {
return classNum;
}
public void setClassNum(int classNum) {
this.classNum = classNum;
}
}
package cm.lgy.spring5_1;
public class StudentInfo {
private Student student;
/***** 생성자 추가 *****/
public StudentInfo(Student student) {
this.student = student;
}
public void getStudentInfo() {
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;
}
}
<?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="cm.lgy.spring5_1.Student">
<constructor-arg>
<value>홍길동</value>
</constructor-arg>
<constructor-arg>
<value>18</value>
</constructor-arg>
<constructor-arg>
<value>3</value>
</constructor-arg>
<constructor-arg>
<value>2</value>
</constructor-arg>
</bean>
<bean id="student2" class="cm.lgy.spring5_1.Student">
<constructor-arg value="홍길순"></constructor-arg>
<constructor-arg value="9"></constructor-arg>
<constructor-arg value="2"></constructor-arg>
<constructor-arg value="1"></constructor-arg>
</bean>
<bean id="studentInfo" class="cm.lgy.spring5_1.StudentInfo">
<constructor-arg>
<ref bean="student1"></ref>
</constructor-arg>
</bean>
</beans>
package cm.lgy.spring5_1;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class MainClass {
public static void main(String[] args) {
String configloc= "classpath:applicationCTX.xml";
AbstractApplicationContext ctx =new GenericXmlApplicationContext(configloc);
StudentInfo studentInfo = ctx.getBean("studentInfo",StudentInfo.class);
// 이름~반 출력
studentInfo.getStudentInfo();
// studentInfo 이용해서 student2 셋팅후 불러오기
Student student = ctx.getBean("student2",Student.class);
studentInfo.setStudent(student);
studentInfo.getStudentInfo();
ctx.close();
}
}

실습문제_5-1.pdf
package com.lgy.spring_ex5_1;
public class Circle {
private int radius;
public Circle(int radius) {
this.radius = radius;
}
public double process() {
return radius*radius*3.14;
}
public int getRadius() {
return radius;
}
public void setRadius(int radius) {
this.radius = radius;
}
}
package com.lgy.spring_ex5_1;
public class CircleInfo {
Circle circle;
public void getCirclInfo() {
System.out.println("반지름: "+ circle.getRadius());
System.out.println("원의 면적은: "+circle.process());
}
public CircleInfo(Circle circle) {
this.circle = circle;
}
public Circle getCircle() {
return circle;
}
public void setCircle(Circle circle) {
this.circle = circle;
}
}
<?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="circle1" class="com.lgy.spring_ex5_1.Circle">
<constructor-arg>
<value>5</value>
</constructor-arg>
</bean>
<bean id="circle2" class="com.lgy.spring_ex5_1.Circle">
<constructor-arg>
<value>10</value>
</constructor-arg>
</bean>
<bean id="circleInfo" class="com.lgy.spring_ex5_1.CircleInfo">
<constructor-arg>
<ref bean="circle1"></ref>
</constructor-arg>
</bean>
</beans>
package com.lgy.spring_ex5_1;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class MainCircle {
public static void main(String[] args) {
AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:circleCTX.xml");
CircleInfo circleInfo = ctx.getBean("circleInfo",CircleInfo.class);
Circle circle2 = ctx.getBean("circle2",Circle.class);
circleInfo.getCirclInfo();
circleInfo.setCircle(circle2);
circleInfo.getCirclInfo();
}
}
