2012-05-13 4 views
1

스프링 빈을 사용하는 응용 프로그램을 만들고 있는데 ApplicationContextxml에서 초기화해야합니다. 그것은 서버 응용 프로그램이 아니므로 WEB-INF 폴더가 없습니다. 그래서, 어디에 xml 파일을 넣어야합니까?Spring applicationContext.xml

답변

1

확인이 예 Spring Setter Injection

는 XML이 응용 프로그램의 클래스 경로에있는 경우 다음 XML 파일 시스템에있는 경우 그렇지 않으면 다음

 ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml"); 
3

스프링을 사용하여이

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); 

처럼 사용 이 주제에 대한 문서는 처음에는 다소 압도적입니다. 응용 프로그램 컨텍스트 구성에 대한 봄 설명서의 편리한 시작 지점은 here

file system xml application context과 함께 시작하는 것이 가장 쉽습니다. 그래서 :

ApplicationContext appCtx = 
    new FileSystemXmlApplicationContext("/path/to/springconfig.xml"); 

사용 ClassPathApplicationContext 당신은 당신의 애플리케이션 클래스 패스에있는 XML 설정이있는 경우. 이 예제에서는 프로젝트 디렉토리 src/config/springconfig.xml 아래 springconfig.xml 일 수 있습니다. 기본 이클립스

jar -tvf myapp.jar 

: 당신의 springconfig.xml이 응용 프로그램을 구축 한 후, 당신은 당신의 항아리의 내용을 나열하려면 다음 명령을 사용하여 끝 위치를 알 수없는 경우

ApplicationContext appCtx = 
    new ClassPathXmlApplicationContext("config/springconfig.xml"); 

java 프로젝트의 경우 프로젝트 홈/bin 디렉토리가 클래스 경로의 시작입니다.

이와 관련된 질문 here

+0

동일한 작업을 수행하고 src 디렉토리에 응용 프로그램 컨텍스트 xml을 넣습니다. 작동하지 않습니다. 나는 이클립스 RCP 애플리케이션을 연구 중이다. – itun

+0

일부 클래스 경로 디버그 아이디어가 포함되도록 업데이트되었습니다. 필자는 src/config/springconfig.xml을 사용하여 Eclipse에서이를 테스트했으며 저에게 적합합니다. – pd40

3

사용 ClassPathXmlApplicationContext 질문을 받았다 :

ApplicationContext ctx = 
    new ClassPathXmlApplicationContext("applicationContext.xml"); 

또는 @Configuration로 마이그레이션 고려 :

AppConfig@Configuration의 주석을 붙일 수
ApplicationContext ctx = 
    new AnnotationConfigApplicationContext(AppConfig.class); 

없이 XML이 필요하다.

+0

동일한 작업을 수행하고 src 디렉토리에 응용 프로그램 컨텍스트 xml을 넣습니다. 작동하지 않습니다 – itun

+0

@itun : "* 작동하지 않습니다 *"를 설명하십시오. [tag : maven]을 사용한다면,'applicationContext.xml'은'src/main/resources'에 있어야합니다. 그렇지 않은 경우 - CLASSPATH의 루트 디렉토리 어딘가에 있습니다. –

+0

Eclipse RCP 응용 프로그램을 작성 중입니다. – itun

관련 문제