java - 获取特定键的循环占位符引用错误
问题描述
如果我的占位符键以“数据库”开头,我会收到循环引用错误
此配置给出错误。
<bean id="paymentTransactionLogMessageDecoratorDao"
class="com.gsicommerce.payment.dao.PaymentTransactionLogMessageDecoratorDao">
<constructor-arg ref="paymentTransactionLogMessageDao"/>
<constructor-arg value="${database.payments.logging.enabled}"/>
</bean>
错误:属性定义中的循环占位符引用“database.payments.logging.enabled”
当我们像这样更改键名时,
<bean id="paymentTransactionLogMessageDecoratorDao"
class="com.gsicommerce.payment.dao.PaymentTransactionLogMessageDecoratorDao">
<constructor-arg ref="paymentTransactionLogMessageDao"/>
<constructor-arg value="${payments.database.logging.enabled}"/>
</bean>
这行得通。我们有任何保留关键字(“数据库”)吗?
如您所见,它是构造函数注入和属性名称完全不同。
public paymentTransactionLogMessageDecoratorDao(PaymentTransactionLogPersistenceServicetransactionLogMessageDao,
boolean databaseLoggingEnabled) {
this.transactionLogPersistenceService = transactionLogMessageDao;
this.databaseLoggingEnabled = databaseLoggingEnabled;
}
解决方案
可能您正在使用 maven 资源过滤:在这种情况下,如本文所述,要过滤的属性值的键与其各自的 Spring 属性占位符不能相同。
推荐阅读
- flutter - Flutter - 根据主题切换图像
- python - 如何仅访问父类的属性?
- ffmpeg - 如何将 subs 的硬代码添加到此 filter_complex
- html - 为什么@media all screen visibility:hidden 不起作用,而 @media only screen 起作用?
- flutter - 如何在 Flutter 中使用混淆代码检查对象的类型
- python - 基于关键字的烧瓶搜索
- reactjs - 在反应表中选择行数据并将数据传递到不同的页面
- android - 如何在不使用线程和 runBlocking 的情况下创建阻塞调用?
- java - 如何将我的 html 解析数据保存为 CSV 文件?
- python - 找到两个数组中心