Controller를 타지 않는 일반 메소드
- 작성자 :
- 김*미
- 작성일 :
- 2010-10-21 11:03:12
- 조회수 :
- 2,619
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
Controller를 타지 않는 일반 메소드를 호출하여 사용하려고 합니다.
이 메소드에서 DB와 연결하여 return 값들을 활용하려고 합니다.
예를 들어 휴관일 DB에서 오늘이 휴관일인지 아닌지를 true/false로
반환하는 형태입니다.
Controller를 타지 않아서 그런지 기존 service.selectCount();
이런 형태는 되지 않더군여..
service 자체가 null입니다..
DAO를 상속받아서도 해보고
여러가지 방법으로 해봤는데 잘 안되네요..
저희 사이트는 여러 DB를 접속하기때문에
AbstractDAO를 여러개 생성하여 extends하여 사용합니다.
DAO를 상속받아서 하니
"No SqlMapClient specified" 에러가 나고,
따로 sqlManager를 생성하여 불러오면
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction
등의 에러가 떨어집니다.
(참고로 인포믹스를 사용하고 있으며, 트랜잭션을 지원하지 않습니다.)
매번 사용해야 하는 method를 controller마다 생성하는 것도 안될 것 같고,
샘플 소스라던지 방법이 있으면 알려주시면 감사하겠습니다.
이 메소드에서 DB와 연결하여 return 값들을 활용하려고 합니다.
예를 들어 휴관일 DB에서 오늘이 휴관일인지 아닌지를 true/false로
반환하는 형태입니다.
Controller를 타지 않아서 그런지 기존 service.selectCount();
이런 형태는 되지 않더군여..
service 자체가 null입니다..
DAO를 상속받아서도 해보고
여러가지 방법으로 해봤는데 잘 안되네요..
저희 사이트는 여러 DB를 접속하기때문에
AbstractDAO를 여러개 생성하여 extends하여 사용합니다.
DAO를 상속받아서 하니
"No SqlMapClient specified" 에러가 나고,
따로 sqlManager를 생성하여 불러오면
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction
등의 에러가 떨어집니다.
(참고로 인포믹스를 사용하고 있으며, 트랜잭션을 지원하지 않습니다.)
매번 사용해야 하는 method를 controller마다 생성하는 것도 안될 것 같고,
샘플 소스라던지 방법이 있으면 알려주시면 감사하겠습니다.
A
안녕하세요.. 김수미님..
우선.. 일반 메소드를 가지고 있는 class가 Spring의 서비스(@Service 또는 @Repository, 경우에 따라서는 <bean ../> 설정)로 정의되어야 합니다.
추가적으로 호출 방식도.. Injection 방식으로 호출되어야 합니다.
(발생된 오류들도.. DI가 적용되지 않았기 때문입니다.)
따라서 Controller를 통하지 않으면.. 어려울 것 같습니다.
(Scheduler 방식도 가능)
그럼.. 즐거운 하루되십시오.
감사합니다.
우선.. 일반 메소드를 가지고 있는 class가 Spring의 서비스(@Service 또는 @Repository, 경우에 따라서는 <bean ../> 설정)로 정의되어야 합니다.
추가적으로 호출 방식도.. Injection 방식으로 호출되어야 합니다.
(발생된 오류들도.. DI가 적용되지 않았기 때문입니다.)
따라서 Controller를 통하지 않으면.. 어려울 것 같습니다.
(Scheduler 방식도 가능)
그럼.. 즐거운 하루되십시오.
감사합니다.