Spring MessageSource 教程展示了如何在 Spring 应用中使用 MessageSource 转换消息。
Spring 是用于创建企业应用的流行 Java 应用框架。
Spring MessageSource
MessageSource
用于解析消息,并支持消息的参数化和国际化。 Spring 包含两个内置的MessageSource
实现:ResourceBundleMessageSource
和ReloadableResourceBundleMessageSource
。 后者能够重新加载消息定义,而无需重新启动虚拟机。
Spring MessageSource
示例
以下应用包含英语和德语消息。 它使用内置的ResourceBundleMessageSource
。
这是项目结构。
pom.xml
在pom.xml
文件中,我们具有基本的 Spring 依赖项spring-core
,spring-context
和日志记录logback-classic
依赖项。
exec-maven-plugin
用于在命令行上从 Maven 执行 Spring 应用。
resources/logback.xml
logback.xml
是 Logback 日志库的配置文件。
resources/messages/labels.properties
这些是英文信息。 第二个属性接收一个参数。
resources/messages/labels_de.properties
这些是德语信息。
com/zetcode/config/AppConfig.java
AppConfig
配置ResourceBundleMessageSource
。 setBasenames()
告诉在哪里查找消息定义。
com/zetcode/Application.java
该应用将普通消息和参数化消息打印到控制台。
我们注入在AppConfig
中生成的MessageSource
。
getMessage()
将属性名称作为第一个参数。 第二个参数是null
,因为消息没有任何参数。 第三个参数是语言环境。
在这里,我们还为消息提供了一个参数。
我们运行该应用。
在本教程中,我们展示了如何在 Spring 应用中使用ResourceBundleMessageSource
。