在一个web应用程序中,我使用推土机映射器(5.3.2)来执行一些对象到对象的映射。
DozerBeanMap是使用springbean定义实例化的。映射文件在spring上下文xml中作为属性提供。
<bean id="idmToBoMPersonMapper" class="org.dozer.DozerBeanMapper" lazy-init="false" scope="singleton" >
<property name="mappingFiles" value="config/IiIdmToBoMPersonMapping.xml"/>
</bean>
映射正在工作,但根据日志,每次代码使用映射器时都会创建DozerBeanMap的实例。
INFO DozerBeanMapper:166 - Initializing a new instance of dozer bean mapper.
这让我担心,我希望映射器只创建一次。
我曾尝试在springbean配置中显式地使用scope="singleton",但这也无济于事。
有什么建议我试试吗?
我最好使用Spring与Dozer的集成,即DozerBeanMapperFactoryBean,请参阅此处的文档以了解更多详细信息:
<bean class="org.dozer.spring.DozerBeanMapperFactoryBean">
<property name="mappingFiles"
value="classpath*:/*mapping.xml"/>
<property name="customConverters">
<list>
<bean class=
"org.dozer.converters.CustomConverter"/>
</list>
</property>
<property name="eventListeners">
<list>
<bean class="org.dozer.listeners.EventListener"/>
</list>
</property>
<property name="factories">
<map>
<entry key="id" value-ref="bean-factory-ref"/>
</map>
</property>
</bean>