gpt4 book ai didi

java - 为什么 DozerConverter 不工作?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:00:28 25 4
gpt4 key购买 nike

我使用的是推土机版本 5.5.1。我想配置我的自定义转换器,所以我有这个

import org.dozer.DozerConverter;

import com.example.movies.api.models.response.ClientResponseDTO;

public class MyCustomConverter
extends DozerConverter<ClientResponseDTO, String> {

public MyCustomConverter() {
super(ClientResponseDTO.class, String.class);
}

@Override
public String convertTo(ClientResponseDTO source, String destination) {
return "ClientResponseDTO Converted to string!";
}

@Override
public ClientResponseDTO convertFrom(String source, ClientResponseDTO destination) {
return new ClientResponseDTO();
}

}

我正在像这样加载 Spring:

@Bean
public Mapper dozerBeanMapper() {
DozerBeanMapper mapper = new DozerBeanMapper();
List<CustomConverter> converters = new ArrayList<>();
converters.add(new MyCustomConverter(ClientResponseDTO.class, String.class));
mapper.setCustomConverters(converters);
return mapper;
}

然后,我有这个用法:

    @Autowired Mapper mapper;
...

ClientResponseDTO clientResponseDTO = clientService.getClient(id);
String conversion = this.mapper.map(clientResponseDTO, String.class);

自定义转换器永远不会被调用。你知道这是为什么吗?问候!

最佳答案

引用dozer documentation您应该将映射添加到 bean 描述。例如。

<bean id="org.dozer.Mapper" class="org.dozer.DozerBeanMapper">
<property name="mappingFiles">
<list>
<value>systempropertymapping1.xml</value>
<value>dozerBeanMapping.xml</value>
<value>injectedCustomConverter.xml</value>
</list>
</property><property name="customConvertersWithId">
<map>
<entry key="CustomConverterWithId" ref="configurableConverterBeanInstance1" />
<entry key="CustomConverterWithId2" ref="configurableConverterBeanInstance2" />
</map>
</property>
</bean>

关于java - 为什么 DozerConverter 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com