スプリングbootを使用して情報の国際化記録を返す
3323 ワード
一、内容
本文は主にspring bootがenum+MessageSource+*を使用することを記録する.propertiesの国際化問題の実現
二、手順
2.1新規列挙(enum)
列挙は、主に戻り情報を格納するために使用される番号およびコードです.
番号付け
エラーコード
説明
10001
ILLEGAL_PASSWORD
パスワードエラー
…..
………
….
注意:ここでのエラーコードは
2.2 MessageSourceエンティティの構成
このクラスは主にkeyとlocaleに基づいてリソースファイルから対応する値を取得します.
2.3対応するリソースファイルを作成する2.3.1異なるファイルを作成し、列挙中のnameに基づいて対応する情報2.3を作成する.2アプリケーションです.propertiesでの構成に関するmessage
2.4 messagesourceを使用してリソースファイルの情報を取得するこのステップは、自分のビジネスニーズに応じて取得する
本文は主に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;
}
}