본문 바로가기

spring/예제

스프링 구조를 이해하는 예제5(외부에서 property 가져오기)

ResultMain.java


package com.test5;


import org.springframework.context.support.AbstractApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;


public class ResultMain {

public static void main(String[] args){

AbstractApplicationContext context=new ClassPathXmlApplicationContext("com/test5/applicationContext.xml");

UserService service=(UserService)context.getBean("userService"); // bean id를 명시해줌

System.out.println(service.getUserData());


}

}


================================================================================================================================================

User.java


package com.test2;


public interface User {

public String result(); 

}



================================================================================================================================================

UserImpl.java

package com.test5;

public class UserImpl implements User{
private String name;
private int age;
private String tel;
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 String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
@Override
public String result() {
String s=name+"님 나이는 "+age+"이고 전화는 "+tel;
return s;
}
}


================================================================================================================================================

UserService.java

package com.test5;

public class UserService {
private User user;
public void setUser(User user){
this.user=user;
}
public String getUserData(){
return user.result();
}
}

================================================================================================================================================

applicationContext.xml


<?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:aop="http://www.springframework.org/schema/aop"

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

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

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

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

xsi:schemaLocation="

   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd

        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd">          

<!-- 외부  설정파일 : 단 한개만 지정가능 -->

<context:property-placeholder location="classpath:com/test5/user.properties"/>


<bean id="user" class="com.test5.UserImpl">

<property name="name" value="${name}"/>

<property name="age" value="${age}"/>

<property name="tel" value="${tel}"/>

</bean>


<bean id="userService" class="com.test5.UserService" p:user-ref="user"/>


</beans> 




======================================================================================================================================================

user.properties


name=\uBC14\uBCF4\uB2D8

age=20

tel=010-2222-2222



======================================================================================================================================================


ResultMain.java를 실행시킨 결과


바보님님 나이는 20이고 전화는 010-2222-2222