带有Spring IOC的Dozer映射器单例实例



在一个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>

最新更新