Spring 5.x / Spring boot 2.1.6 中的@Document 评估上下文未正确设置
Evaluation context not correctly set for @Document in Spring 5.x / Spring boot 2.1.6
我正在用最新的 Spring 引导 2.1.6 版本编写一个 Spring 引导应用程序。之前有一个问题,已经在 SO 和 Spring 的错误跟踪器上讨论过,其中 Spring EL 上下文无法访问 bean。
这本应在 Spring 4.x 版本中解决。但是,我也遇到了同样的问题
参考文献:
- SO thread 1
- SO thread 2
- Spring Data Bug 1043
- Spring Data Bug 525
- Spring Data Bug 1874
我也尝试了在实际修复之前建议的大部分解决方案。
现在我的代码有这样的注释 -
@Document("#{mongoCollectionNameResolver.getCollectionName('BANK')}")
//@Document("BANK")
public class Bank {
}
我已验证使用表达式中提到的名称正确创建了 bean。
我只是想问问社区,在我重新打开错误/使用 [=48= 打开一个新错误之前,我是否应该为 Spring 5.x 做更多的事情]数据mongo
当引用名称来自 SpEL 的 bean 时,它们需要加上前缀 @
(请参阅 Spring Reference Guide)。话虽如此,这意味着您的 SpEL 表达式是错误的。
应该是#{@mongoCollectionNameResolver.getCollectionName('BANK')}
。
我正在用最新的 Spring 引导 2.1.6 版本编写一个 Spring 引导应用程序。之前有一个问题,已经在 SO 和 Spring 的错误跟踪器上讨论过,其中 Spring EL 上下文无法访问 bean。
这本应在 Spring 4.x 版本中解决。但是,我也遇到了同样的问题
参考文献:
- SO thread 1
- SO thread 2
- Spring Data Bug 1043
- Spring Data Bug 525
- Spring Data Bug 1874
我也尝试了在实际修复之前建议的大部分解决方案。
现在我的代码有这样的注释 -
@Document("#{mongoCollectionNameResolver.getCollectionName('BANK')}")
//@Document("BANK")
public class Bank {
}
我已验证使用表达式中提到的名称正确创建了 bean。
我只是想问问社区,在我重新打开错误/使用 [=48= 打开一个新错误之前,我是否应该为 Spring 5.x 做更多的事情]数据mongo
当引用名称来自 SpEL 的 bean 时,它们需要加上前缀 @
(请参阅 Spring Reference Guide)。话虽如此,这意味着您的 SpEL 表达式是错误的。
应该是#{@mongoCollectionNameResolver.getCollectionName('BANK')}
。