使用Spring IOC的Dozer映射器单例实例

时间:2014-04-15 20:14:25

标签: java spring singleton dozer

在Web应用程序中,我使用dozer mapper(5.3.2)来执行一些对象到对象的映射。

使用spring bean定义实例化DozerBeanMapper。映射文件在spring context xml中作为属性提供。

<bean id="idmToBoMPersonMapper" class="org.dozer.DozerBeanMapper" lazy-init="false" scope="singleton" >
    <property name="mappingFiles" value="config/IiIdmToBoMPersonMapping.xml"/>
</bean>

映射正在工作,但根据日志,每次代码使用映射器时都会创建DozerBeanMapper的实例。

INFO DozerBeanMapper:166 - Initializing a new instance of dozer bean mapper.

这是我的担忧,我希望映射器只创建一次。

我试图在spring bean配置中明确使用scope =“singleton”,但这也无济于事。

我有什么建议可以尝试吗?

1 个答案:

答案 0 :(得分:1)

我最好使用Spring与Dozer的集成,即DozerBeanMapperFactoryBean,请参阅文档here以获取更多详细信息:

   <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>