是否有一种方法可以更改Application.properties
中的属性值
例如:
user.update.url = http://localhost:8080/user/{:userId}/update
有没有一种方法可以在不使用{:userId}
方法的情况下基于String.replace()
创建合适的网址?
http://localhost:8080/user/1/update
http://localhost:8080/user/1/update
http://localhost:8080/user/1/update
当前,可怕的实现如下:
Application.properties:
user.update.url = http://localhost:8080/user/{:userId}/update
A级:
public classs A{
private int userId;
@Value("${user.update.url}")
private String url;
public A(int userId){
this.userId=userId
}
public String getUrl(){
return url.replace("{:userId}",userId+"");
}
}
答案 0 :(得分:1)
或者,您可以使用MessageSource
(通常用于解析i18n消息)。
您可以注入它:
@Autowired
private MessageSource messageSource;
然后致电:
messageSource.getMessage(propertyKey, arrayOfParameters, LocaleContextHolder.getLocale());
例如,如果您具有以下密钥:
testKey.sample = Hello {0} ! {1}
通话:
messageSource.getMessage("testKey.sample", "man", "Bye", LocaleContextHolder.getLocale());
将输出消息:
你好,男人!再见
默认情况下,Spring在messages.properties
文件夹中查找src/main/resources
文件。您可以配置它。