我在SpringBoot项目的application.properties
文件中有一个属性 -
app.module.service.url=http://localhost:8090/{DOCID}
我已将其注入我的Java文件中,如下所示 -
@Value("${app.module.service.url}")
private String url;
现在我需要用我的函数中的某个值替换DOCID
(即动态)。我如何做到这一点,还是我完全错过了?
我知道我们可以在Spring中message properties
的情况下执行此操作。但在这里我与Locales
没有任何关系。
修改
在我的Java实现中使用它时,我需要使用一些值代替{DOCID}
。
...
public class Sample{
@Value("${app.module.service.url}")
private String url;
public void sampleFunc(){
String str = "random Value" //some dynamic value goes in here
...
现在,我需要将{DOCID}
替换为str
url
答案 0 :(得分:1)
Spring Properties中无法进行双向绑定。它只能读取运行时和环境变量。
请参阅以下链接以获取更多信息。
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Configuration-Binding
答案 1 :(得分:1)
您可以为此使用 spring UriTemplate。
在您的实现类中:
...
public class Sample{
@Value("${app.module.service.url}")
private String url;
public void sampleFunc(){
String dockId = someValue; // customize according to your need
UriTemplate uriTemplate = new UriTemplate(url);
URI uri = uriTemplate.expand(docId);
new RestTemplate().postForEntity(uri, requestObhect, Responseclass.class);
}
...
答案 2 :(得分:0)
试试这样...
app.module.service.url=http://localhost:8090/{{docId}}
并设置运行配置如下
-DdocId = 133323 // any number which you want