1) SystemMonitor 클래스

package com.model.di.exam04;


public class SystemMonitor {

private int periodTime; // 기본 자료형 변수

private SmsSender sender; // 참조 변수

// 설정 메서드(setter 메서드) 이용해서 값을 전달받기

public void setPeriodTime(int periodTime){

this.periodTime = periodTime;

}

public void setSender(SmsSender sender){

this.sender = sender;

}

public void write(){

System.out.println("SystemMonitor [periodTime="+periodTime+", sender="+sender+"]");

}

}



2) SmsSender 클래스

package com.model.di.exam04;

public class SmsSender {

@Override
public String toString() {
return "SmsSender 호출";
}
}

3) 실행 클래스
package com.model.di.exam04;

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

public class Main {
public static void main(String[] args) {
AbstractApplicationContext context = 
new ClassPathXmlApplicationContext("applicationContext.xml");
context.registerShutdownHook();
SystemMonitor monitor = (SystemMonitor)context.getBean("monitor");
monitor.write();
context.close();
}
}


4) 설정 파일

하단 탭에서 Source 말고 Namespaces를 선택하면 네임스페이스 추가가 가능하다. 여기에서 p 태그 선택.



그러면 아래와 같이 bean 값에 xmlns:p가 추가된다.


<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">



<!-- property 속성으로 속성값 주입 -->

<!--

<bean id="sender" class="com.model.di.exam04.SmsSender" />

<bean id="monitor" class="com.model.di.exam04.SystemMonitor">

<property name="periodTime" value="10" />

<property name="sender" ref="sender" />

</bean>

-->


<!-- 2. p(namespaces)를 이용한 속성값 주입. p:호출할 프로퍼티 -->

<bean id="monitor" class="com.model.di.exam04.SystemMonitor" p:periodTime="10" p:sender="sender" />

</beans>







Posted by netyhobby
,