DAO 객체 Null 관련
- 작성자 :
- 박*철
- 작성일 :
- 2012-02-22 20:56:53
- 조회수 :
- 3,455
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
<DAO 객체 Null 관련>
안녕하세요 매번 답변 감사드립니다. m(_ _)m
질문이 있습니다.
Helloworld를 찍는 코어프로젝트를 import 한 뒤에
Orcle DB를 eGov Core Project와 연동하기 위해
설정을 했습니다.
xml이 정상적으로 로딩되서 문제 없이 DB 설정은 되것 같지만
@Resource(name = "deptDAO")
DeptDAO deptDAO;
deptDAO 객체를 가져오는데 null 됩니다. (deptDAO.select 등등.. 에러가 나서 찍어봄)
참고가 될까 해서 환경설정 파일을 첨부해 드립니다.
helloworld core 프로젝트에서 아래의 사항을 추가 수정했습니다.
context-helloworld.xml ==> oracle DataSource와 DAO를 추가
context-sqlMap.xml ==> sqlMapClient 등록
DBconfig.xml ==> DB Mapper 파일 리스트
Dept.xml ==> dept table 핸들링 파일
HelloWorldClient.java ==> String[] configLocations 이용하여 복수의 XML을 파싱하도록 수정
HelloWorldDB.java ==> DAO 호출 class
DeptDAO.java ==> EgovAbstractDAO 상속 받았음
DeptVO.java
HelloWorldClient.java 실행시 에러로그 [참고 사항]
java.lang.NullPointerException 나는 이유는 DAO가 null이기 때문
log4j:INFO Using URL [file:/E:/OpenSP/eGov/eclipse/workspace/egovframework.guide/target/classes/log4j.xml] for automatic log4j configuration of repository named [default].
NULL이다 !!!
java.lang.NullPointerException
DEBUG [main] (HelloWorldClient.java:23)- Hello egov framework!!!
p.s : http://www.egovframe.org/wiki/doku.php?id=egovframework:rte:psl:data_access
나온 가이드를 참고 하면서 했는데 예제 파일은 어디서 받을수 있을까요... 없더라구요
안녕하세요 매번 답변 감사드립니다. m(_ _)m
질문이 있습니다.
Helloworld를 찍는 코어프로젝트를 import 한 뒤에
Orcle DB를 eGov Core Project와 연동하기 위해
설정을 했습니다.
xml이 정상적으로 로딩되서 문제 없이 DB 설정은 되것 같지만
@Resource(name = "deptDAO")
DeptDAO deptDAO;
deptDAO 객체를 가져오는데 null 됩니다. (deptDAO.select 등등.. 에러가 나서 찍어봄)
참고가 될까 해서 환경설정 파일을 첨부해 드립니다.
helloworld core 프로젝트에서 아래의 사항을 추가 수정했습니다.
context-helloworld.xml ==> oracle DataSource와 DAO를 추가
context-sqlMap.xml ==> sqlMapClient 등록
DBconfig.xml ==> DB Mapper 파일 리스트
Dept.xml ==> dept table 핸들링 파일
HelloWorldClient.java ==> String[] configLocations 이용하여 복수의 XML을 파싱하도록 수정
HelloWorldDB.java ==> DAO 호출 class
DeptDAO.java ==> EgovAbstractDAO 상속 받았음
DeptVO.java
HelloWorldClient.java 실행시 에러로그 [참고 사항]
java.lang.NullPointerException 나는 이유는 DAO가 null이기 때문
log4j:INFO Using URL [file:/E:/OpenSP/eGov/eclipse/workspace/egovframework.guide/target/classes/log4j.xml] for automatic log4j configuration of repository named [default].
NULL이다 !!!
java.lang.NullPointerException
DEBUG [main] (HelloWorldClient.java:23)- Hello egov framework!!!
p.s : http://www.egovframe.org/wiki/doku.php?id=egovframework:rte:psl:data_access
나온 가이드를 참고 하면서 했는데 예제 파일은 어디서 받을수 있을까요... 없더라구요
A
안녕하세요.. 박승철님..
HelloWorldDB 자체가.. bean으로 정의되지 않는 경우는..
@Resource에 의해 injection이 되지 않기 때문에..
deptDAO 자체가 null이 됩니다..
즉, Spring Container에 의해 관리되는 bean만이 DI나 AOP의 기능들을 사용하실 수 있습니다.
이 경우는.. context-helloworld.xml에 다음과 같이 bean을 정의하시고..
<bean name="helloWorldDB" class="egovframework.guide.helloworld.HelloWorldDB"/>
다음으로.. HelloWorldClient에서.. new로 생성하시는 것이 아니라 다음과 같이 getBean()을 통해 가져오시면 됩니다.
HelloWorldDB hwDB = (HelloWorldDB)context.getBean("helloWorldDB");
hwDB.Test();
그럼.. 즐거운 하루되십시오.
감사합니다.
HelloWorldDB 자체가.. bean으로 정의되지 않는 경우는..
@Resource에 의해 injection이 되지 않기 때문에..
deptDAO 자체가 null이 됩니다..
즉, Spring Container에 의해 관리되는 bean만이 DI나 AOP의 기능들을 사용하실 수 있습니다.
이 경우는.. context-helloworld.xml에 다음과 같이 bean을 정의하시고..
<bean name="helloWorldDB" class="egovframework.guide.helloworld.HelloWorldDB"/>
다음으로.. HelloWorldClient에서.. new로 생성하시는 것이 아니라 다음과 같이 getBean()을 통해 가져오시면 됩니다.
HelloWorldDB hwDB = (HelloWorldDB)context.getBean("helloWorldDB");
hwDB.Test();
그럼.. 즐거운 하루되십시오.
감사합니다.