Java 如何在ModelMapper的AbstractConverter.convert()方法中到达目标对象
我想通过自定义转换器将字段从源映射到现有对象dest。您能推荐一种从AbstractConverterconvert获取dest对象的规范方法吗 请查找以下代码:Java 如何在ModelMapper的AbstractConverter.convert()方法中到达目标对象,java,spring,mapping,modelmapper,Java,Spring,Mapping,Modelmapper,我想通过自定义转换器将字段从源映射到现有对象dest。您能推荐一种从AbstractConverterconvert获取dest对象的规范方法吗 请查找以下代码: Source source = new Source(xxx); Dest dest = new Dest(yyy); modelMapper.addConverter(new AbstractConverter<Source, Dest>() { @Override protected Dest convert
Source source = new Source(xxx);
Dest dest = new Dest(yyy);
modelMapper.addConverter(new AbstractConverter<Source, Dest>() {
@Override
protected Dest convert(Source source) {
// here I need to access 'dest' object in order to manually map fields from 'source'
});
modelMapper.map(source, dest);
将Dest Dest=new Destyyy移动到新AbstractConverter的主体中
modelMapper.addConverter(new AbstractConverter<Source, Dest>() {
private Dest dest = new Dest(yyy);
@Override
protected Dest convert(Source source) {
// here I need to access 'dest' object in order to manually map fields from 'source'
});
如果要访问目标对象,不应使用AbstractConverter,而应使用匿名转换器:
modelMapper.addConverter(new Converter<Source, Dest>() {
public Dest convert(MappingContext<Source, Dest> context) {
Source s = context.getSource();
Dest d = context.getDestination();
d.setYyy(s.getXxx() + d.getYyy()); // example of using dest's existing field
return d;
}
});
Dest对象是不是一个静态对象,它将成为源代码变异的基础?@Ryan Dake是的。我更新了问题,使之更清楚