Spring接口转换器

我有 ClassA 和 ClassB,我想将其转换为 ClassC,但如果我想使用 Spring 转换器:


org.springframework.core.convert.converter

Interface Converter<S,T>

Type Parameters:

S - the source type

T - the target type

我应该创建另一个 classD,比如


ClassD classD {

      ClassA classA;

      ClassB classB;

}

然后从D类到C类?


至尊宝的传说
浏览 83回答 1
1回答

茅侃侃

正如 Spring 的文档Converter所说:转换器将类型的源对象转换S为类型的目标TS源类型也是如此,T目标类型也是如此。因此,如果您想转换ClassA为ClassB您将创建Converter<ClassA, ClassB>实现。您不能Converter同时使用两种类型将其转换为单一类型。例如,您必须创建两个转换器才能按此顺序进行转换ClassA -> ClassB -> ClassC。ClassA或者为and创建一些包装类型ClassB:public class Wrapper {    private ClassA a;    private ClassB b;}然后创建一个 ConverterConverter<Wrapper, ClassD>实现:Converter<Wrapper, ClassC> converter = wrapper -> {        //access wrapper        wrapper.getA();        wrapper.getB();        return new ClassC();};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java