EgovAbstractServiceImpl 를 상속받는 이유가 무엇인가요?
- 작성자 :
- 이*철
- 작성일 :
- 2016-08-22 12:40:12
- 조회수 :
- 5,420
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
이전글들을 쭉 보다보니 아래와 같은 내용이 있던데요
EgovAbstractServiceImpl 를 상속해야 된다고 정의가 된 이유는
다음과 같이 코드가 가독성있게 보여지고 표준프레임워크를 사용한 시스템의 코드가 동일하게 보여지기 위한 목적이 있습니다.
단지 상속을 받았다고 가독성있게 보여지나요?
시스템의 코드가 동일하게 보여진다는건 또 무슨말인지요?
그리고 이 클래스가 제공하는 processException 과 leaveaTrace 는 무슨일을 하는것이며 언제 사용하는건가요?
구체적인 설명 좀 부탁드립니다. (_ _)
EgovAbstractServiceImpl 를 상속해야 된다고 정의가 된 이유는
다음과 같이 코드가 가독성있게 보여지고 표준프레임워크를 사용한 시스템의 코드가 동일하게 보여지기 위한 목적이 있습니다.
단지 상속을 받았다고 가독성있게 보여지나요?
시스템의 코드가 동일하게 보여진다는건 또 무슨말인지요?
그리고 이 클래스가 제공하는 processException 과 leaveaTrace 는 무슨일을 하는것이며 언제 사용하는건가요?
구체적인 설명 좀 부탁드립니다. (_ _)
A
안녕하세요. 표준프레임워크센터입니다.
문의주신 해당 글을 검색해보니 답변을 작성하신 분의 글 내용이 무언가 누락되어 올린 것 같습니다.
EgovAbstractServiceImpl클래스는 프레임워크 공통의 Exception처리를 위한 기능을 제공하는 추상클래스입니다.
(ref. 적용기준 항목 중 위의 클래스를 상속을 해야 되는 항목이 존재합니다.)
비즈니스 서비스 구현시 디폴트로 Exception 처리를 위한 processException 메소드와 leaveaTrace 메소드를 가지고 있습니다.
processException의 경우 EgovBizException(표준표레임워크 내 서비스 레이어에서 발생되는 비즈니스 예외) 발생 시, Exception을 메시지와 함께 presentation layer로 전달해줍니다.
ex 1)
//---------------------------------------------------
// 넘어온 resultVO 가 null 인경우 EgovBizException 발생 (result.nodata.msg 는 메세지 키에 해당됨)
if (resultVO == null)
throw processException("result.nodata.msg");
// 또는 throw processException("result.nodata.msg", 발생한 Excpetion );
return resultVO;
//------------------------------------------------------
leaveaTrace의 경우 Exception을 presentation layer로 던지지 않고 수행 후 계속 비즈니스 로직으로 돌아오게 해주는 기능을 제공합니다.(Exception 후처리 로직과 유사)
ex2)
//-----------------------------------------
try {
//강제로 발생한 ArithmeticException
int i = 1 / 0;
} catch (ArithmeticException athex) {
//Exception 을 발생하지 않고 후처리 로직 실행.
leaveaTrace("message.trace.msg");
}
return resultVO;
//-----------------------------
위의 구체적인 내용은 하단의 위키 링크를 참조하시기 바랍니다.
링크>processException과 leaveaTrace 위키 링크
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:bsl:exception_handling&s[]=leaveatrace
감사합니다.
문의주신 해당 글을 검색해보니 답변을 작성하신 분의 글 내용이 무언가 누락되어 올린 것 같습니다.
EgovAbstractServiceImpl클래스는 프레임워크 공통의 Exception처리를 위한 기능을 제공하는 추상클래스입니다.
(ref. 적용기준 항목 중 위의 클래스를 상속을 해야 되는 항목이 존재합니다.)
비즈니스 서비스 구현시 디폴트로 Exception 처리를 위한 processException 메소드와 leaveaTrace 메소드를 가지고 있습니다.
processException의 경우 EgovBizException(표준표레임워크 내 서비스 레이어에서 발생되는 비즈니스 예외) 발생 시, Exception을 메시지와 함께 presentation layer로 전달해줍니다.
ex 1)
//---------------------------------------------------
// 넘어온 resultVO 가 null 인경우 EgovBizException 발생 (result.nodata.msg 는 메세지 키에 해당됨)
if (resultVO == null)
throw processException("result.nodata.msg");
// 또는 throw processException("result.nodata.msg", 발생한 Excpetion );
return resultVO;
//------------------------------------------------------
leaveaTrace의 경우 Exception을 presentation layer로 던지지 않고 수행 후 계속 비즈니스 로직으로 돌아오게 해주는 기능을 제공합니다.(Exception 후처리 로직과 유사)
ex2)
//-----------------------------------------
try {
//강제로 발생한 ArithmeticException
int i = 1 / 0;
} catch (ArithmeticException athex) {
//Exception 을 발생하지 않고 후처리 로직 실행.
leaveaTrace("message.trace.msg");
}
return resultVO;
//-----------------------------
위의 구체적인 내용은 하단의 위키 링크를 참조하시기 바랍니다.
링크>processException과 leaveaTrace 위키 링크
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:bsl:exception_handling&s[]=leaveatrace
감사합니다.