제목에서 알 수 있듯이 String에서 일부 빈을로드하려고합니다. This approach only works in Spring 3GenericXmlApplicationContext
은 버전 2.5에서 사용할 수 없으므로스프링 2.5의 문자열에서 응용 프로그램 컨텍스트를로드하는 방법은 무엇입니까?
0
A
답변
0
약식 here을 사용하십시오. 추가 단계로 DefaultListableBeanFactory
을 GenericApplicationContext
으로 전달하십시오 (이 방법은 Spring 1.1부터 사용되어 왔으며 GenericXmlApplicationContext는 기본적으로 블로그 게시물에서와 거의 동일하게 사용되는 편의 클래스입니다).
String content = ...
GenericApplicationContext ctx = new GenericApplicationContext();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(ctx);
reader.loadBeanDefinitions(new ByteArrayResource(content.getBytes()));
ctx.refresh();
ApplicationContext
을 작동합니다.
0
직접 테스트하지는 않았지만 according to the API documentation을 사용하면 쉽게 AbstractXmlApplicationContext를 확장하고 getConfigResources()
메서드를 구현할 수 있습니다. org.springframework.core.io.ByteArrayResource
을 사용하여 XML 문자열의 자리 표시 자 역할을 할 수 있습니다.