• 枚举国际化


    SpringBoot枚举国际化:

    public enum ResultCode {
        SUCCESS(0, ""),
        DATA_RESULT_NONE(2001, "DataNotExist"),
        DATA_ALREADY_EXISTED(2002, "DataAlreadyExist"),
        DATA_SAVE_FAIL(2003, "DataSaveFailed"),
        
        private Integer code;
        private String message;
        private static MessageSource messageSource;
    
        ResultCode(Integer code, String message) {
            this.code = code;
            this.message = message;
        }
    
        public static void setMessageSource(MessageSource messageSource) {
            ResultCode.messageSource = messageSource;
        }
    
        public static void setI18nUtil(I18nUtil i18nUtil) {
            ResultCode.i18nUtil = i18nUtil;
        }
    
        //通过静态内部类的方式注入bean,并赋值到枚举中
        @Component
        public static class ReportTypeServiceInjector {
    
            private final MessageSource messageSource;
    
            public ReportTypeServiceInjector(MessageSource messageSource) {
                this.messageSource = messageSource;
            }
    	    // 依赖注入完成后被自动调用
            @PostConstruct
            public void postConstruct() {
                ResultCode.setMessageSource(messageSource);
            }
        }
        
        // 获取信息时,获取国际化文本
        public String getMessage() {
            return messageSource.getMessage(message, null, LocaleContextHolder.getLocale());
        }
    
        public Integer getCode() {
            return code;
        }
    
        public void setCode(Integer code) {
            this.code = code;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
        
    }
    
  • 相关阅读:
    sql round
    COJ1086 分组01背包
    POJ3624 (01背包)
    COJ1271 Brackets Sequence
    nacoskubernet集群安装(离线安装)
    docker离线安装及本地yum配置
    rediskubernet集群离线安装
    mysql修改密码
    harbor离线安装
    ansibletidb3.0安装(离线版)
  • 原文地址:https://www.cnblogs.com/zenghi-home/p/11899197.html
Copyright © 2020-2023  润新知