2016년 11월 16일 수요일

[자바교육,스프링교육(Spring Framework/Boot)추천_탑크리에듀]#19.스프링에서 XML 설정 파일의 분리

#19.스프링에서 XML 설정 파일의 분리
스프링에서 XML 설정 파일의 분리

XML 설정파일을 여러 개로 분리할 수 있으며 이 경우 ref bean 태그를 사용하여 자바 빈을 로딩 하면 된다.  ApplicationContext를 생성할 때 여러 XML 파일명을 문자열 배열로 넣어주면 된다.

[Dog.java]
package ojc.spring.twoxml;
public interface Dog {
public void jitda();
}

[Jindo.java]
package ojc.spring.twoxml;
import org.springframework.stereotype.Component;
public class Jindo implements Dog{
public void jitda() {
System.out.println("진도진도~");
}
}

[Pudle.java]
package ojc.spring.twoxml;
import org.springframework.stereotype.Component;
public class Pudle implements Dog {
public void jitda() {
System.out.println("푸들푸들~");
}
}

[DogManager.java]
package ojc.spring.twoxml;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

public class DogManager {
           private Pudle pudle;
private Jindo jindo;
public void setPudle(Pudle pudle) {
           this.pudle = pudle;
}

public void setJindo(Jindo jindo) {
           this.jindo = jindo;
}

public void walwal() {
           this.jindo.jitda();
           this.pudle.jitda();
}
}

[DogApp.java]
package ojc.spring.twoxml;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DogApp {
public static void main(String[] args) {
      ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml", "dog.xml"});
          
DogManager dManager = (DogManager) context.getBean("dogManager");
dManager.walwal();
}
}

[src/main/resources/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"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<bean id="dogManager" class="ojc.spring.twoxml.DogManager">
<property name="pudle">
<ref bean="pudle"></ref>
</property>
<property name="jindo">
            <ref bean="jindo"></ref>
</property>
</bean>
</beans>

[src/main/resources/dog.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"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<bean id="pudle" class="ojc.spring.twoxml.Pudle"/>
<bean id="jindo" class="ojc.spring.twoxml.Jindo"/>
</beans>

[결과]
진도진도~
푸들푸들~

댓글 없음:

댓글 쓰기