我有一个JSF2.0+Spring项目,当我尝试将Spring bean自动集成到JSF bean中时,会遇到一些奇怪的事情。以下是我的ApplicationContext示例:
<context:component-scan base-package="com.ticketfront" />
<util:map id="map" >
<entry key="rp">
<util:map>
<entry key="9003" value="RegP"/>
</util:map>
</entry>
</util:map>
下面是我的jSF bean的一部分:
@Named
@Scope("session")
public class TicketViewBean implements Serializable {
@Autowired
Map<String, Map<String, String>> map;
}
部署运行成功,但在我的jsf bean autowired属性映射中,第一个条目是正常的,就像我在applicationContext中配置的一样,但还有很多其他条目被放入map中。例如:
map = (java.util.LinkedHashMap) {map={rp={9003=RegP}}, systemEnvironment={USERPROFILE=C:\Users\Administrator, JAVA_HOME=C:\Program Files\Java\jdk1.7.0_40, NB_EXEC_TOMCAT_START_PROCESS_UUID=tomcat70:home=C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.34:base=apache-tomcat-7.0.34.0_base, SystemDrive=C:, JPDA_TRANSPORT=dt_shmem, CURRENT_DIR=C:\Program Files\Apache Software Foundation\Ap
和许多其他不同的东西,甚至是Web-XML....
我完全搞不懂为什么会这样
正如Spring参考指南中提到的
只要预期的键类型是string
,即使是类型化的映射也可以自动连线。map
值将包含所有预期类型的bean,键将包含相应的bean名称:
因此,您得到的是map
的map
。这将给出您自己的映射
以及可以表示为映射
或映射
的所有其他bean。大多数PropertySource
bean都是这种情况,您可以在bean中的Map
中获得这些bean。(systemenvironment
都是环境变量)等等。
若要修复,请在定义中添加@qualifier(“map”)
或使用@resource
而不是@autowired
。
问题内容: 是否有Java等效于.Net的Automapper? 问题答案: 检出推土机项目。 推土机支持简单的属性映射,复杂的类型映射,双向映射,隐式-显式映射以及递归映射。 它利用BeanUtils并对其进行扩展。
例如,我有以下接口映射器: 在代码中,您可以看到映射和一些默认方法,其中包含其他映射。如何在Mapstruct映射中使用这些方法,以便Mapstruct使用这些方法在字段中填充值?
问题内容: 我有一个带有四列ID,名称,颜色,形状的食用水果。 该表中的条目为: 现在,我将一个实体类Fruit映射到上表。 在我的DAO类中,代码是: 显而易见,在上面的查询中运行将返回3行。 我有一个简单的TO类FruitSearchTO 此TO符合我的查询返回的行。 但是在我的DAO中运行类似: 抛出异常java.lang.ClassCastException:[Ljava.lang.Obj
我有一个Spring Boot应用程序,我使用RestTemboard调用Rest API,我收到以下JSON格式的响应: 数组“data”中的单个元素几乎没有不同的结构(上面的两个例子),我想用单个元素映射不同的类类型,这取决于元素“type”的值。 例如,值“type1”应该映射到类类型为“type1”的对象,依此类推。 我创建了如下类:MyResponse: 数据: 类型1: 类型2: 如何
我正在尝试使用dozer映射将哈希集从PO对象映射到模型对象中的列表。 这是我的源和目标类:- 注意变量定义POImpl类: NoteVariableDefinition类: 我的推土机映射配置为: 每当运行此映射时,总会出现以下错误: 在这种情况下,如何将哈希集映射到ArrayList? 我是推土机映射的新手,因此也无法定义自定义转换器。 推土机文档说明它可以将集合转换为列表 推土机自动在收集类