2012-02-28 3 views
0

내 응용 프로그램에서 몇 가지 비즈니스 로직을 기반으로 몇 가지 스프링 구성 파일의 내용을 추가해야합니다. applicationContextAware 클래스를 사용하여 컨텍스트를 가져올 수 있습니다. 유언 내 질문은 어떻게 "리소스"컨텍스트에 추가 할 수 있습니다 관한 것입니다. 리소스를로드하고 런타임에 컨텍스트에 추가하는 것을 의미합니다.Spring ApplicationContext에 추가하는 방법은 무엇입니까?

+1

더 많은 것을 설명 할 수 있습니까? 빈 와이어 링은 이미 수행되어 새로운 특성을 삽입 할 수 없게됩니다 ... – seanhodges

+0

예. 물론 봄은 그들을 다시 연결해야합니다. – meisam

답변

1

리소스를 기반으로 새 ApplicationContext를 만든 다음 기존 컨텍스트로 부모 컨텍스트로 설정할 수 있습니다.

웹 응용 프로그램의 경우 스프링이 컨텍스트를 저장하는 컨텍스트 변수에 새 컨텍스트를 설정해야합니다.

+0

감사합니다. 몇 가지 질문 : 1. 부모 컨텍스트를 어떻게 설정할 수 있습니까? 2. ContextLoaderListener로 컨텍스트 변수 스프링이 사용하는 웹 응용 프로그램입니다. 한 줄 또는 2 줄의 코드를 줄 수 있습니까? – meisam

+0

청취자는 알아내는 좋은 출발점입니다. ContextLoader.initWebapplicationcontext (ServletContext) ro를 사용하여 스프링 컨텍스트를 시작합니다. 당신이해야 할 일은 똑같은 일입니다. 변수는 다음과 같습니다. WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE ContextLoader.createWebApplicationcontext (Servletcontext, ApplicationContext)에서 생성 된 방법이 표시됩니다. WebApplicationContext는 setParent() 메소드를 가지고있다. 그 부분은 간단합니다 :) – wemu

+0

사실 webappcontext에는 공용 부분 setParent()가있는 것처럼 보이지 않습니다. 그 부분은 어쩌면 어려운 부분 일 수 있습니다. 어쩌면 내가 틀렸어.하지만 스프링 코드 자체를 복사하여 복사해서 기능을 얻을 수 있다고 생각지 않는다. 노출 된 인터페이스가 있어야한다. – meisam

관련 문제