スプリングbootを使用して情報の国際化記録を返す


一、内容
本文は主にspring bootがenum+MessageSource+*を使用することを記録する.propertiesの国際化問題の実現
二、手順
2.1新規列挙(enum)
列挙は、主に戻り情報を格納するために使用される番号およびコードです.
番号付け
エラーコード
説明
10001
ILLEGAL_PASSWORD
パスワードエラー
…..
………
….
注意:ここでのエラーコードは.propertiesファイルのオブジェクトのkey値であり、説明は対応する値であり、英語と中国語に分けられ、messages_zh_CN.propertiesファイルでは「パスワードエラー」、messages_en_US.propertiesでは「the password is illegal」である.コードは次のとおりです.
/** * @author lcl * @createDate 2016 11 21   8:25:17 *          */
public enum ErrorStatus {
    ACCOUNT_EXISTED(10001),
    private int code;

    private ErrorStatus(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}

2.2 MessageSourceエンティティの構成
このクラスは主にkeyとlocaleに基づいてリソースファイルから対応する値を取得します.
@Configuration
public class InternationalConfig {

    @Value(value = "${spring.messages.basename}")
    private String basename;

    @Bean(name = "messageSource")
    public ResourceBundleMessageSource getMessageResource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename(basename);
        return messageSource;
    }
}

2.3対応するリソースファイルを作成する2.3.1異なるファイルを作成し、列挙中のnameに基づいて対応する情報2.3を作成する.2アプリケーションです.propertiesでの構成に関するmessage
2.4 messagesourceを使用してリソースファイルの情報を取得するこのステップは、自分のビジネスニーズに応じて取得する
@Component
public class ErrorMessageSourceHandler {

    @Autowired
    private  MessageSource messageSource;

    /** *    * @param messageKey * @return */
    public String getMessage(String messageKey) {
        String message = messageSource.getMessage(messageKey, null, LocaleContextHolder.getLocale());
        return message;
    }
}