No SqlMapClient specified 질문입니다.
- 작성자 :
- 강*우
- 작성일 :
- 2010-09-03 19:54:12
- 조회수 :
- 3,340
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
eGov 프레임웍을 사용하여 배치 프로그램을 제작중입니다.
기본 Controller - Service - DAO 구성에서,
Controller 를 빼고 Batch 프로그램을 만들어서 구성하였는데,
프로그램 실행시 No SqlMapClient specified 가 발생합니다.
관련 소스 첨부하오니 어떤 부분을 수정해야 하는지 도움 부탁드립니다.
실행 파일은 ReceiveMaterialBatch.java 입니다.
감사합니다.
기본 Controller - Service - DAO 구성에서,
Controller 를 빼고 Batch 프로그램을 만들어서 구성하였는데,
프로그램 실행시 No SqlMapClient specified 가 발생합니다.
관련 소스 첨부하오니 어떤 부분을 수정해야 하는지 도움 부탁드립니다.
실행 파일은 ReceiveMaterialBatch.java 입니다.
감사합니다.
A
안녕하세요.. 강민우님..
Spring Container에 의해 DI(Dependency Injection)이 수행되지 않았기 때문에 발생된 문제입니다.
웹응용프로그램의 경우 web.xml 기술된 listener와 servlet에 의해 설정(xml)에 의해 DI가 수행되도록 되어 있으나 작성하는 배치와 같은 일반 java 응용프로그램은 Spring Container의 역할을 수행하는 ApplicationContext를 직접 생성 및 관리하셔야 합니다.
간단한 사용 예를 다음과 같습니다.
ApplicationContext context = new ClassPathXmlApplicationContext("egovframework/spring/context-*.xml");
ManageMaterialService service = (ManageMaterialService)context.getBean("ManageMaterialService");
참고로 현재 ManageMaterialServiceImpl.java에 @Service("ManageMaterialService") 설정을 추가하셔야 합니다.
그럼.. 즐거운 하루 되십시오.
감사합니다.
Spring Container에 의해 DI(Dependency Injection)이 수행되지 않았기 때문에 발생된 문제입니다.
웹응용프로그램의 경우 web.xml 기술된 listener와 servlet에 의해 설정(xml)에 의해 DI가 수행되도록 되어 있으나 작성하는 배치와 같은 일반 java 응용프로그램은 Spring Container의 역할을 수행하는 ApplicationContext를 직접 생성 및 관리하셔야 합니다.
간단한 사용 예를 다음과 같습니다.
ApplicationContext context = new ClassPathXmlApplicationContext("egovframework/spring/context-*.xml");
ManageMaterialService service = (ManageMaterialService)context.getBean("ManageMaterialService");
참고로 현재 ManageMaterialServiceImpl.java에 @Service("ManageMaterialService") 설정을 추가하셔야 합니다.
그럼.. 즐거운 하루 되십시오.
감사합니다.