feat: AbstractService 추가
-> EgovAbstractServiceImpl extends Service class AbstractService extends로 변경 Exception 클래스 패키지 이동 EgovMessageSource class 삭제 MessageUtil 추가dev
parent
da81106f86
commit
219307bab4
@ -1,58 +0,0 @@
|
||||
package egovframework.com.cmm;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
|
||||
|
||||
/**
|
||||
* 메시지 리소스 사용을 위한 MessageSource 인터페이스 및 ReloadableResourceBundleMessageSource 클래스의 구현체
|
||||
* @author 공통서비스 개발팀 이문준
|
||||
* @since 2009.06.01
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2009.03.11 이문준 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource {
|
||||
|
||||
private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource;
|
||||
|
||||
/**
|
||||
* getReloadableResourceBundleMessageSource()
|
||||
* @param reloadableResourceBundleMessageSource - resource MessageSource
|
||||
* @return ReloadableResourceBundleMessageSource
|
||||
*/
|
||||
public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) {
|
||||
this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* getReloadableResourceBundleMessageSource()
|
||||
* @return ReloadableResourceBundleMessageSource
|
||||
*/
|
||||
public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() {
|
||||
return reloadableResourceBundleMessageSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* 정의된 메세지 조회
|
||||
* @param code - 메세지 코드
|
||||
* @return String
|
||||
*/
|
||||
public String getMessage(String code) {
|
||||
return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault());
|
||||
}
|
||||
|
||||
public String getMessage(String code, Object[] messageParam) {
|
||||
return getReloadableResourceBundleMessageSource().getMessage(code, messageParam, Locale.getDefault());
|
||||
}
|
||||
}
|
@ -1,24 +1,19 @@
|
||||
package kr.xit.core.spring.handler;
|
||||
package kr.xit.core.exception.handler;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.Filter;
|
||||
|
||||
import kr.xit.core.consts.ErrorCode;
|
||||
import kr.xit.core.exception.BizRuntimeException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.web.error.ErrorAttributeOptions;
|
||||
import org.springframework.boot.web.servlet.error.DefaultErrorAttributes;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.context.request.WebRequest;
|
||||
|
||||
import kr.xit.core.consts.ErrorCode;
|
||||
import kr.xit.core.exception.BizRuntimeException;
|
||||
import kr.xit.core.spring.filter.ReadableRequestWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : Catch 되지 않은 에러인 경우 처리 되는 class
|
||||
* 개발자가 처리한 예외처리중 오류 및 framework에서 처리되지 않은 오류 발생시 반드시 처리 필요
|
||||
* packageName : kr.xit.core.spring.handler
|
||||
* packageName : kr.xit.core.exception.handler
|
||||
* fileName : ReadableRequestWrapperFilter
|
||||
* author : julim
|
||||
* date : 2023-04-28
|
@ -0,0 +1,50 @@
|
||||
package kr.xit.core.service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import kr.xit.core.spring.util.MessageUtil;
|
||||
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
|
||||
/**
|
||||
* org.egovframe.cloud.common.service.AbstractService
|
||||
* <p>
|
||||
* 표준프레임워크 EgovAbstractServiceImpl 을 상속하는 공통 추상 클래스이다.
|
||||
* 각 @Service 클래스는 이 클래스를 반드시 상속하여야 한다.(표준프레임워크 준수사항)
|
||||
*
|
||||
* @author 표준프레임워크센터 jaeyeolkim
|
||||
* @version 1.0
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ---------- -------- ---------------------------
|
||||
* 2021/07/28 jaeyeolkim 최초 생성
|
||||
* </pre>
|
||||
* @since 2021/07/28
|
||||
*/
|
||||
public abstract class AbstractService extends EgovAbstractServiceImpl {
|
||||
|
||||
@Resource(name = "messageUtil")
|
||||
protected MessageUtil messageUtil;
|
||||
|
||||
/**
|
||||
* messageSource 에 코드값을 넘겨 메시지를 찾아 리턴한다.
|
||||
*
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
protected String getMessage(String code) {
|
||||
return messageUtil.getMessage(code);
|
||||
}
|
||||
|
||||
/**
|
||||
* messageSource 에 코드값과 인자를 넘겨 메시지를 찾아 리턴한다.
|
||||
*
|
||||
* @param code
|
||||
* @param args
|
||||
* @return
|
||||
*/
|
||||
protected String getMessage(String code, Object[] args) {
|
||||
return messageUtil.getMessage(code, args);
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package kr.xit.core.spring.config;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : * Spring MessageSource 설정
|
||||
*
|
||||
* packageName : kr.xit.core.spring.config
|
||||
* fileName : MessageSourceConfig
|
||||
* author : julim
|
||||
* date : 2023-04-28
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-04-28 julim 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@Configuration
|
||||
public class MessageSourceConfig {
|
||||
|
||||
@Value("${spring.messages.basename}")
|
||||
private String[] basenames;
|
||||
|
||||
@Bean
|
||||
public MessageSource messageSource() {
|
||||
ReloadableResourceBundleMessageSource rrbms = new ReloadableResourceBundleMessageSource();
|
||||
rrbms.setBasenames(basenames);
|
||||
rrbms.getBasenameSet().forEach(s -> log.info("messageSource getBasename = {}", s));
|
||||
|
||||
rrbms.setCacheSeconds(60);
|
||||
// 메세지가 없으면 기본 메세지 반환
|
||||
rrbms.setUseCodeAsDefaultMessage(true);
|
||||
rrbms.setDefaultEncoding(StandardCharsets.UTF_8.name());
|
||||
return rrbms;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package kr.xit.core.spring.util;
|
||||
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : Spring MessageSource를 통한 메세지 read
|
||||
*
|
||||
* packageName : kr.xit.core.spring.util
|
||||
* fileName : MessageUtil
|
||||
* author : julim
|
||||
* date : 2023-04-28
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-04-28 julim 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Component
|
||||
public class MessageUtil {
|
||||
|
||||
@Resource(name = "messageSource")
|
||||
private MessageSource messageSource;
|
||||
|
||||
/**
|
||||
* messageSource 에 코드값을 넘겨 메시지를 찾아 리턴한다.
|
||||
*
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
public String getMessage(String code) {
|
||||
return this.getMessage(code, new Object[]{});
|
||||
}
|
||||
|
||||
/**
|
||||
* messageSource 에 코드값과 인자를 넘겨 메시지를 찾아 리턴한다.
|
||||
*
|
||||
* @param code
|
||||
* @param args
|
||||
* @return
|
||||
*/
|
||||
public String getMessage(String code, Object[] args) {
|
||||
return this.getMessage(code, args, LocaleContextHolder.getLocale());
|
||||
}
|
||||
|
||||
/**
|
||||
* messageSource 에 코드값, 인자, 지역정보를 넘겨 메시지를 찾아 리턴한다.
|
||||
*
|
||||
* @param code
|
||||
* @param args
|
||||
* @param locale
|
||||
* @return
|
||||
*/
|
||||
public String getMessage(String code, Object[] args, Locale locale) {
|
||||
return messageSource.getMessage(code, args, locale);
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
/**
|
||||
* xit core java framework spring customizing package classes
|
||||
* <p>
|
||||
* web Client error help classes
|
||||
* </p>
|
||||
* @since 1.0
|
||||
* @author limju
|
||||
* @version 1.0
|
||||
*/
|
||||
package kr.xit.core.spring.util.error;
|
Loading…
Reference in New Issue