springcloud单模块yml文件引用其他模块下的国际化文件
时间: 2023-08-16 16:09:03 浏览: 48
在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文件中也没有定义,就会抛出异常。