将值传递给 spring 注释中的占位符
Passing value to placeholder in spring annotation
我已经根据 api 规范生成了一个客户端界面
@FeignClient(
name = "${testController.name:testController}",
url = "${testController.url:https://api.dev.foo}",
configuration = {ClientConfiguration.class}
)
public interface TetsControllerApiClient extends TestControllerApi {
}
如何覆盖它的 name
或 url
属性?将不胜感激。谢谢
您可以在项目的 application.properties 文件中覆盖它们
testController.name = "myController"
testController.url = "some url"
这是从属性文件(application.yml
或 application.properties
)加载的。
符号 ${testController.name:testController}
是一种 Spring 表达式语言,表示以下内容:
- 加载
testController.name
并从属性中读取其值。
- 如果未找到,请使用
testController
作为默认值。
application.properties
文件应如下所示:
testController.name=myTestController
要覆盖 您可以使用Spring 配置文件的值。文件 application-local-dev.properties
并使用 local-dev
配置文件启动应用程序。
我已经根据 api 规范生成了一个客户端界面
@FeignClient(
name = "${testController.name:testController}",
url = "${testController.url:https://api.dev.foo}",
configuration = {ClientConfiguration.class}
)
public interface TetsControllerApiClient extends TestControllerApi {
}
如何覆盖它的 name
或 url
属性?将不胜感激。谢谢
您可以在项目的 application.properties 文件中覆盖它们
testController.name = "myController"
testController.url = "some url"
这是从属性文件(application.yml
或 application.properties
)加载的。
符号 ${testController.name:testController}
是一种 Spring 表达式语言,表示以下内容:
- 加载
testController.name
并从属性中读取其值。 - 如果未找到,请使用
testController
作为默认值。
application.properties
文件应如下所示:
testController.name=myTestController
要覆盖 您可以使用Spring 配置文件的值。文件 application-local-dev.properties
并使用 local-dev
配置文件启动应用程序。