- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Spring Data MongoDB 和 Spring Batch 自定义保存实体类并对其进行索引的集合名称。该类声明如下:
@Document
@CompoundIndex(name = "unique_source", def = "{'fid': 1, 'sid': 1}", unique = true, background = true)
public class VariantSource {
...
}
public class VariantSourceMongoWriter extends MongoItemWriter<VariantSource> {
public VariantSourceEntityMongoWriter(MongoOperations mongoOperations, String collectionName) {
setTemplate(mongoOperations);
setCollection(collectionName);
}
}
variantSource
) 命名。
public class MongoCollections {
public String getCollectionFilesName() {
return "my_custom_collection_name"; // TODO Dynamic value
}
}
@Configuration
public class MongoCollectionsConfiguration {
@Bean
public MongoCollections mongoCollections() {
return new MongoCollections();
}
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {MongoCollectionsConfiguration.class})
public class VariantSourceMongoWriterTest {
@Autowired
private MongoCollections mongoCollections;
}
@Document
注释看起来像这样:
@Document(collection = "#{@mongoCollections.getCollectionFilesName()}")
org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): No bean resolver registered in the context to resolve access to bean 'mongoCollections'
@Document(collection = "#{mongoCollections.getCollectionFilesName()}")
org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Property or field 'mongoCollections' cannot be found on null
@Document(collection = "@mongoCollections.getCollectionFilesName()")
最佳答案
正如 this answer 所指出的那样, 修复注入(inject):
@Document(collection = "#{mongoCollections.getCollectionFilesName()}")
SpelEvaluationException: EL1007E:(pos 0): Property or field 'mongoCollections' cannot be found on null
@Document(collection = "#{getCollectionFilesName}")
),尝试将 ApplicationContext 设置为 MongoMappingContext (用于实例化 MongoConverter,然后是 MongoTemplate):
@Bean
public MongoMappingContext MongoMappingContext() {
MongoMappingContext mappingContext = new MongoMappingContext();
mappingContext.setApplicationContext(applicationContext);
return mappingContext;
}
关于spring-boot - 无法在 SpEL 中为 Spring Data MongoDB 集合名称解析 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41698445/
我正在尝试使用 spring SpEL 来解析在 UDP 中收到的消息。 为了理解如何使用 Spring SpEL,我写了这个: 上下文.xml:
我想将 xml 文件中分配的属性值传递给 Java 中的 Spring 表达式(SpEL)。你能指出我如何实现这一目标吗?为了清楚起见,我提供了以下示例。 example.xml 文件:
我正在尝试将 spring 版本从 3.0.5 升级到 3.2.11。 当表达式比较空值时,我遇到了 SpEL 的麻烦,如下所示: new SpelExpressionParser().parseEx
例如,我在 Spring boot 的 application.yml 中有一个属性。 some: strNumber: "5" 我想以此属性的某些其他属性的值(value)为基础。例如 some
我试图从属性中获取一个字符串,对其运行操作,然后将其存储为带有 @Value 注释的变量。不幸的是,当我使用 SpEL 所需的 #{'${variable}'} 语法时,字符串发生了变化。如果我有两个
在我的应用程序中,我有一些带有多个 SpEL 表达式的对象,这些表达式通常包含带有 boolean 返回类型以调用和逻辑运算符的方法签名。在缓存这些对象之前,我通过简单地执行已解析的表达式来检查表达式
我正在尝试在 Spring 集成流程中构建一个 url,如下所示: 但是我不断收到以下错误: SpelParseException: EL1041E:(pos 9): After parsing a
我想根据某些条件导入不同的资源文件。这可能吗? 这些不起作用: 最佳答案 支持 SpEL,但 Spring 很早就解析了 import 语句。 spring 在解析 import 语句时,属性占位
我有一个类的方法:代码: List getData() {...} 和一些扩展实体的类:项目、阶段、发票、付款。 我想做这样的事情: @PostFilter("filterObject instans
我正在尝试计算以下 SpEL 表达式(Spring 表达式版本 3.1.1): T(com.google.common.collect.Lists).newArrayList(#iterable) #
作为我项目的一部分,我正在实现一个基于 SpEL 的规则引擎,我正在努力使其尽可能高效。基本上,该引擎由 SpEL 语法中的持久条件组成。当需要评估输入时,我会在数据库中查询相关规则 - SpEL 表
就 Spring 3.0 中使用的 SpEL 而言, 我想问一下,是否可以执行以下操作(在 bean 定义 .xml 中): 东西。就像在jSTL中一样。
我是法国人,所以我放了一些 é è ê ô û 在我的代码中。 (而且我的英语说得不是很好)。 我在类 Formulaires 中有一个类似的方法: public static Formulair
我发现一篇文章Open source library with vulnerabilities . 这篇文章指出“Spring 表达式语言 (SpEL) 可以通过 HTTP 参数提交来利用,从而允许攻
我遇到了一个问题,我尝试监听EnvironmentChangeEvent并重新初始化一些配置。 虽然我发现 SpEL 的 @Value 注释不起作用,但普通的 @Value 注释就可以了: @Comp
给定 java.util.Date() ,如何使用 Spring 表达式语言创建 Calendar 对象? 这个有效: 但我需要从 java.util.Date() 向其构造函数提供日、月和年。我有
是否有某个地方有带有 Spring 表达式语言 shell 的 swing 控制台? 最佳答案 据我所知,没有控制台或命令行评估器,但我建议您下载 org.springframework.expres
我想在 application.properties 中计算我的端口号,如下所示: server.port=#{ 1 + ${myapp.web.server.port.ssl} } myapp.we
我要评估 "user.name" 但是 user 可能为 null,这当然会导致 NPE 有没有办法说仅在 user 不为 null 时才尝试获取名称?否则返回 null。 我读过有关 Elvis 语
我需要知道 Spring SpEL 在语法和功能方面是否有限制。例如我需要运行这个表达式: Integer cnt=0; if(obj.val1<10){return 1;} else{ cnt=cn
我是一名优秀的程序员,十分优秀!