springcloud 最外层yml引用 yt-common模块下的i18n文件
时间: 2023-11-22 08:52:47 浏览: 167
可以通过在最外层的 YAML 配置文件中使用 `spring.messages.basename` 属性来引用 yt-common 模块下的 i18n 文件。假设 yt-common 模块中的 i18n 文件名为 `messages`,在最外层的 YAML 配置文件中添加如下配置:
```yaml
spring:
messages:
basename: classpath:i18n/messages
```
这里的 `classpath:i18n/messages` 表示从 classpath 中寻找 yt-common 模块中的 `messages` 文件。如果 yt-common 模块中有多个 i18n 文件,可以使用逗号分隔的方式指定多个文件名,例如:
```yaml
spring:
messages:
basename: classpath:i18n/messages,classpath:i18n/errors
```
这样就可以同时加载 yt-common 模块中的 `messages` 和 `errors` 文件了。
相关问题
springcloud 总的yml引用 yt-common模块下的i18n文件
可以在Spring Cloud的配置文件中使用`spring.messages.basename`属性来引用yt-common模块下的i18n文件。具体操作步骤如下:
1. 在yt-common模块的`src/main/resources`目录下创建i18n文件夹,并在其中添加i18n文件,例如`messages_zh_CN.properties`。
2. 在Spring Cloud的配置文件中添加如下配置:
```yml
spring:
messages:
basename: classpath:i18n/messages
```
这样就可以在Spring Cloud中使用`MessageSource`来加载i18n文件了。在代码中调用`MessageSource`的`getMessage()`方法即可获取对应的文本信息。例如:
```java
@Autowired
private MessageSource messageSource;
public void example() {
String message = messageSource.getMessage("key", null, LocaleContextHolder.getLocale());
}
```
其中,`"key"`表示要获取的文本信息的key值,`null`表示参数列表(如果有),`LocaleContextHolder.getLocale()`表示当前上下文中的Locale。
springcloud单模块yml文件引用其他模块下的国际化文件
在Spring Cloud中,可以使用Spring Boot的国际化功能来实现多语言支持。在单模块的情况下,我们可以在application.yml文件中配置国际化信息。但是在多模块的情况下,我们需要引用其他模块下的国际化文件。
假设我们有两个模块,一个是common模块,另一个是web模块。我们需要在web模块中引用common模块下的国际化文件。
首先,在common模块中新建一个messages.properties文件,用于存放国际化信息。假设我们有以下内容:
```
hello=Hello
```
然后,在web模块的application.yml文件中,可以通过如下方式引用common模块下的国际化文件:
```
spring:
messages:
basename: classpath:/i18n/messages,classpath:/i18n/common/messages
```
其中,`classpath:/i18n/messages`是web模块自己的国际化文件路径,`classpath:/i18n/common/messages`是common模块的国际化文件路径。
这样,在web模块中使用`@Value`注解获取国际化信息时,会先在web模块的messages.properties文件中查找,如果找不到,就会到common模块的messages.properties文件中继续查找。例如,在web模块中使用以下代码获取国际化信息:
```java
@Value("${hello}")
private String hello;
```
如果在web模块的messages.properties文件中没有定义`hello`这个键值对,就会去common模块的messages.properties文件中查找。如果在common模块的messages.properties文件中也没有定义,就会抛出异常。
阅读全文