단순 코드 기록/Spring

Spring_constructor-arg

일일일코_장민기 2024. 2. 8. 10:35
728x90
PersonTest

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import com.spring.Person;

public class personTest { public static void main(String[] args) {

ApplicationContext ctx = new GenericXmlApplicationContext("classpath:com/spring/person.xml");
Person p1 = (Person) ctx.getBean("xxx");
System.out.println(p1);
System.out.println(p1.getName());
System.out.println(p1.getAge());
System.out.println(p1.getCat().getName());
System.out.println(p1.getCat().getAge());
} }

Person(DTO) - Cat(DTO) 참조

package com.spring;

public class Person {
String name;
int age;
Cat cat;
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", cat=" + cat + "]";
}
public Person() {
super();
}
public Person(String name, int age, Cat cat) {
super();
this.name = name;
this.age = age;
this.cat = cat;
}
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 Cat getCat() {
return cat;
}
public void setCat(Cat cat) {
this.cat = cat;
}

}

 

Cat(DTO)

package com.spring;

public class Cat {
String name;
int age;
@Override
public String toString() {
return "Cat [name=" + name + ", age=" + age + "]";
}
public Cat() {
super();
// TODO Auto-generated constructor stub
}
public Cat(String name, int age) {
super();
this.name = name;
this.age = age;
}
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;
}



}

person.xml - ref

<?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="xxx" class="com.spring.Person">
<constructor-arg name="name" value="홍길동"></constructor-arg>
<constructor-arg name="age" value="10"></constructor-arg>
<!--  <constructor-arg name="cat" ref="catBean"></constructor-arg> -->
<constructor-arg name="cat" ref="catBean2"></constructor-arg>
<!-- 참조변수를 ref사용 -->
</bean>

<bean id="catBean" class="com.spring.Cat">
    <constructor-arg name="name" value="야옹이"></constructor-arg>
    <constructor-arg name="age" value="20"></constructor-arg>
</bean>

<bean id="catBean2" class="com.spring.Cat">
    <constructor-arg name="name" value="누렁이"></constructor-arg>
    <constructor-arg name="age" value="30"></constructor-arg>
</bean>
</beans>

 

 

constructor-arg는 name이 변수명과 반드시 일치해야 함(생성자를 사용)

== Person bbb = new Person("홍길동")

 

'단순 코드 기록 > Spring' 카테고리의 다른 글

Spring_map  (0) 2024.02.08
Spring_list  (0) 2024.02.08
Spring_property  (0) 2024.02.08
Spring_Porn.xml  (0) 2024.02.08
Spring_dependency  (0) 2024.02.08