一個DozerBeanMapper配置引發的問題


springboot中引入了Dozer映射,在映射時拋出異常

java.lang.NullPointerException
    at org.dozer.classmap.ClassMap.getSrcClassToMap(ClassMap.java:191)
    at org.dozer.loader.MappingsParser.processMappings(MappingsParser.java:80)
    at org.dozer.loader.CustomMappingsLoader.load(CustomMappingsLoader.java:49)
    at org.dozer.DozerBeanMapper.loadCustomMappings(DozerBeanMapper.java:213)
    at org.dozer.DozerBeanMapper.initMappings(DozerBeanMapper.java:315)
    at org.dozer.DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:192)
    at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:120)
    at com.zx.wdrs.dozer.DozerBeanMapperTest.testMapper(DozerBeanMapperTest.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

 

 

背景:

包檢查 check

打印引用的mapper 有內存地址不為空 check

@Configuration配置檢查 check

配置文件位置正確 check

 

 

且打印出了加載log,說明配置已正確引入。

寫Test類,剝離其他相關,簡單映射下兩個類,new出來的mapper可以映射,但是通過app注解綁定的還是繼續拋空指針

 

 

排查堆棧信息,跟源碼

getMappingProcessor
initMappings

 

 有可能在加載個性配置時有問題。

 

 

 

確定注釋掉了內容,但是沒有注釋掉mapping標簽,即標簽內的內容為空,導致報錯,注掉mapping后正常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM