java - 我可以在另一个注释中使用属性中的 Spring @Value 变量吗?
问题描述
我目前有一个来自属性文件的变量,声明为:
@Value("${retryLimit}")
private int retryLimit;
在这种情况下,我想在注释中使用而不是硬编码常量“3”:
@Retryable(maxAttempts = 3, backoff = @Backoff(delay = 2000))
这可能吗?
我试过了:
@Retryable(maxAttempts = @Value("${retryLimit}"), backoff = @Backoff(delay = 2000))
但是我收到以下编译错误:
"Incompatible types. Found: 'org.springframework.beans.factory.annotation.Value', required: 'int'"
解决方案
无需@value
在另一个注释标签内使用。只需与 out 一起使用@value
。它会起作用的。
@Retryable(maxAttempts = "${retryLimit}", backoff = @Backoff(delay = 2000))
推荐阅读
- javascript - Mongoose ValidationError:验证失败:需要路径
- python - tkinter - 我需要删除最小化按钮,而不是禁用,并更改所有栏的颜色
- node.js - Sequelize 5:多对多方法上的 TypeError
- testing - Spring Boot TestContainers 映射的端口只能在容器启动后获取
- python - Flask - 将按钮直接指向另一个页面
- javascript - 使用Javascript拖放非常慢
- r - 在州名上显示与美国州相对应的值
- django - 使用 FormView 在 Django 中通过 URL 传递模型字段值
- arrays - 遍历一系列文本框
- reactjs - 超时后关闭反应错误消息