Dozer を使用して、プリミティブ クラスから相互に自動的にマップしようとしています。最終的に、コードは次のようになります。
Boolean resultBoolean = mapper.map("true", Boolean.class);
Dozer は when in a bean へのマッピングをサポートString
していますがBoolean
、直接マッピングするとBoolean
次の例外が発生するようです。
org.dozer.MappingException: java.lang.NoSuchMethodException: java.lang.Boolean.<init>()
at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:88)
at org.dozer.factory.ConstructionStrategies$ByConstructor.newInstance(ConstructionStrategies.java:261)
at org.dozer.factory.ConstructionStrategies$ByConstructor.create(ConstructionStrategies.java:245)
at org.dozer.factory.DestBeanCreator.create(DestBeanCreator.java:65)
at org.dozer.MappingProcessor.map(MappingProcessor.java:178)
at org.dozer.MappingProcessor.map(MappingProcessor.java:125)
at org.dozer.MappingProcessor.map(MappingProcessor.java:120)
at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:111)
...
Caused by: java.lang.NoSuchMethodException: java.lang.Boolean.<init>()
at java.lang.Class.getConstructor0(Class.java:2706)
at java.lang.Class.getDeclaredConstructor(Class.java:1985)
at org.dozer.factory.ConstructionStrategies$ByConstructor.newInstance(ConstructionStrategies.java:257)
... 32 more
Dozer が Boolean 自体をインスタンス化しようとしていることは明らかです。Boolean を String に変換する顧客を作成できますDozerConverter
が、Dozer が既に持っているコードを再実装したくありません。Dozer をプリミティブ型との間で直接マッピングする方法はありますか?