【SpringBoot】自定义注解<约定式i18n国际化>终极升级版方案源码Copy
package com.example.demo.internationalization;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import java.util.Locale;
import java.util.ResourceBundle;
@Service
public class MessageService {
public String getMessage(String key, Object... params) {
Locale locale = LocaleContextHolder.getLocale();
ResourceBundle resourceBundle = ResourceBundle.getBundle("messages", locale);
String message = resourceBundle.getString(key);
if (params.length > 0) {
message = String.format(locale, message, params);
}
return message;
}
}
这段代码定义了一个名为MessageService
的服务类,用于获取国际化消息。它使用了ResourceBundle
来获取对应语言环境的资源文件,并可以传递参数进行消息的格式化。这个服务类可以被注入到控制器或其他需要的地方,用来获取国际化消息。
评论已关闭