본문 바로가기

spring/예제

스프링 구조를 이해하는 예제3(map과 list의 property)

ResultMain.java


package com.test3;


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/test3/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.test3;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class UserImpl implements User{
private String name;
private Map<String, String> address;
private List<String> hobby;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Map<String, String> getAddress() {
return address;
}
public void setAddress(Map<String, String> address) {
this.address = address;
}
public List<String> getHobby() {
return hobby;
}
public void setHobby(List<String> hobby) {
this.hobby = hobby;
}


@Override
public String result() {
String s="이름 : " + name + "\n" + "=================\n 주소록 \n";
Iterator<String> it=address.keySet().iterator();
while(it.hasNext()){
String key=it.next();
String value=address.get(key);
s+=key +":" + value+"\n";
}
s+="==============\n";
s+="취미\n";
for(String ss:hobby)
s+=ss+" ";
return s;
}
}


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

UserService.java

package com.test3;

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">          

<bean id="user1" class="com.test3.UserImpl">

<property name="address">

<map>

<entry key="졸립" value="황천길"/>

<entry key="꿈나라" value="자면 혼남"/>

<entry key="왓더" value="헐"/>

   <!-- <entry key-ref="객체" value-ref="객체"/> -->

</map>

</property>

<property name="hobby">

<list>

<!-- <ref bean="객체"/> -->

<value>코딩하면서 잠자기</value>

<value>겡미</value>

<value>운동</value>

</list>

</property>

<property name="name" value="하하오허"></property>

</bean>


<bean id="userService" class="com.test3.UserService">

<property name="user" ref="user1"/>

</bean>

</beans> 


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


ResultMain.java를 실행시킨 결과


이름 : 하하오허

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

 주소록 

졸립:황천길

꿈나라:자면 혼남

왓더:헐

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

취미

코딩하면서 잠자기 겡미 운동