스프링에서 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>
[결과]
진도진도~
푸들푸들~
댓글 없음:
댓글 쓰기