250x250
Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

개린이 개발노트

[Spring] 스프링 Setter 메서드를 통한 주입 본문

스프링Spring

[Spring] 스프링 Setter 메서드를 통한 주입

개린이9999 2023. 1. 15. 14:18
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