当前位置: 首页 > 知识库问答 >
问题:

@带集合映射的值[重复]

令狐运珧
2023-03-14

我有以下代码:

@Value("#{${optional.currencies}}") 
private Map<Account, Set<String>> mapAccountAndCurrencies= null;

但我有以下例外:

Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type 'java.util.Collections$UnmodifiableRandomAccessList' to required type 'java.util.Map'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.util.Collections$UnmodifiableRandomAccessList' to required type 'java.util.Map': no matching editors or conversion strategy found
    at org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:76)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1235)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:636)
    ... 68 more
Caused by: java.lang.IllegalStateException: Cannot convert value of type 'java.util.Collections$UnmodifiableRandomAccessList' to required type 'java.util.Map': no matching editors or conversion strategy found
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:262)
    at org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:73)
    ... 71 more
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBatchTest
@EnableAutoConfiguration
@ContextConfiguration(classes= {BatchTestConfiguration.class})
@TestPropertySource(locations="classpath:application-test.properties")
public class BatchTest {

}

还有我的应用测试。特性:

optional.currencies={}

我做错了什么?

共有2个答案

朱翔
2023-03-14

试试这个-

@Value("#{${optional.currencies:{null:null}}}") 
private Map<Account, Set<String>> mapAccountAndCurrencies= null;

宁鹏程
2023-03-14

您需要设置optional.currencies集合映射,例如

optional.currencies={'account1': {'USD','GBP'}, 'account2': {'USD','NOK'}}

你能告诉我这是否解决了你的问题吗?

 类似资料:
  • 主要内容:集合类型,以下是纠正/补充内容:集合(Collection)是一个将多个对象分组为一个单元的java框架。它用于存储,检索和操作汇总数据。 在JPA中,可以使用集合来持久化包装类和String的对象。JPA允许三种对象存储在映射集合中 - 基本类型,实体和嵌入式类型。 集合类型 根据要求,我们可以使用不同类型的集合来持久化对象。如下所示 - List Set Map 包中包含集合框架的所有类和接口。 以下是纠正/补充内容: 根据

  • 这是我的哈希图: 如何获得一个新的,它将包含每个客户的汽车数量,即的大小? 我想这样做没有循环,但只使用流。 我的尝试:

  • 编辑问题以包括所需的行为、特定的问题或错误,以及重现问题所需的最短代码。这将帮助其他人回答这个问题。 这是我的哈希映射: 如何获得一个新的,它将包含每个客户的汽车数量,即的大小? 我想不使用循环,但只使用流。 我的尝试:

  • 主要内容:集合映射实例,程序输出结果集合(Set)是一个包含唯一元素的接口。 这些元素不保留任何顺序。当需要以无序方式检索唯一元素时,可以使用。 完整的项目目录结构如下所示 - 集合映射实例 在这个例子中,我们将一个对象嵌入到一个实体类中,并将其定义为一个集合类型 - 。 这个例子包含以下步骤 - 第1步: 在包下创建一个实体类,这个类包含员工, 和嵌入对象(员工地址)。注解 表示嵌入对象。 文件:Employee.java 的代码

  • 你可以定义一个新的名或从下拉式菜单中选择导入到现有的表或集合。 【注意】如果你在“目标表”或“目标集合”输入一个新的名,在“是新的”内的框将会自动显示为“是”。 导入多个表或集合时,所有表或集合会显示在列表中。

  • 给定下表: 我想知道hibernate注释来完成我的实体类: 因此,我将(来自联接到并从列中进行选择)作为我的实体类中的字符串。 类似地,如果不是一对一: 完成我的实体类的hibernate注释是什么: 这样我就可以在我的实体类TableA中获得到的,并再次在上加入以从列中进行选择)。 首选答案,而无需引入和额外的实体类 。谢谢。