728x90
Bean을 정의할 때 Bean 객체가 가지고 있을 기본 값을 생성자가 아닌 Setter 메서드를 통해 주입할 수 있다.
name: 데이터를 주입할 property의 이름
value: 기본 자료형 및 문자열을 주입할 때 사용하는 속성
ref: 객체의 주소값을 주입할 때 사용하는 속성
package sanghoon.main;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import sanghoon.beans.TestBean;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
TestBean obj1 = new TestBean();
obj1.setData1(100);
System.out.printf("obj1.data1:%d\n",obj1.getData1());
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("sanghoon/config/beans.xml");
TestBean t1 = ctx.getBean("t1",TestBean.class);
System.out.printf("t1.data1:%d\n",t1.getData1());
System.out.printf("t1.data5:%s\n",t1.getData5());
System.out.printf("t1.data6:%s\n",t1.getData6());
ctx.close();
}
}
package sanghoon.beans;
public class TestBean {
private int data1;
private DataBean data5;
private DataBean data6;
public int getData1() {
return data1;
}
public void setData1(int data1) {
this.data1 = data1;
}
public DataBean getData5() {
return data5;
}
public void setData5(DataBean data5) {
this.data5 = data5;
}
public DataBean getData6() {
return data6;
}
public void setData6(DataBean data6) {
this.data6 = data6;
}
}
<?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='t1' class='sanghoon.beans.TestBean'>
<property name="data1" value="100" />
<property name="data5">
<bean class='sanghoon.beans.DataBean' />
</property>
<property name="data6" ref='data_bean' />
</bean>
<bean id='data_bean' class='sanghoon.beans.DataBean' />
</beans>
package sanghoon.beans;
public class DataBean {
}
728x90
'스프링Spring' 카테고리의 다른 글
[Spring] 스프링 자동주입 (0) | 2023.01.17 |
---|---|
[Spring] 스프링 Spring Framework 컬렉션 주입 (0) | 2023.01.15 |
[Spring] 스프링 생성자를 통한 주입 의존성 주입(Dependency Injection) (1) | 2023.01.15 |
[Spring] 스프링 BeanPostProcessor (0) | 2023.01.12 |
[Spring] 스프링 빈(bean) 객체의 생명주기 (0) | 2023.01.10 |