栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring boot 对象拷贝工具(Orika)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring boot 对象拷贝工具(Orika)

1.spring 自带拷贝工具
        LoginUser user = new LoginUser();
//        将data中字段相同的属性拷贝到user中
        BeanUtils.copyProperties(data , user);
2. 基于Orika的字节码拷贝工具

1) pom

		
		
			ma.glasnost.orika
			orika-core
			1.5.4
		

2)工具类 OrikaUtils

import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.impl.DefaultMapperFactory;
import ma.glasnost.orika.metadata.TypeFactory;

import java.util.Collection;
import java.util.List;
import java.util.Set;


public class OrikaUtils {
    private OrikaUtils() {}
    //单例模式(懒汉式、线程安全)
    private static class Builder{
        //通过工厂和建造者创建MapperFacade实例
        private static final MapperFacade mapper = new DefaultMapperFactory.Builder().build().getMapperFacade();
    }
    public static MapperFacade getMapper(){
        return Builder.mapper;
    }
    
    public static  D mapBean(S srcObj, Class dstClass) {
        return getMapper().map(srcObj, dstClass);
    }
    
    public static  List mapList(Iterable srcList, Class dstClass) {
        return getMapper().mapAsList(srcList, dstClass);
    }
    
    public static  List mapList(Iterable srcList, Class srcClass, Class dstClass) {
        return getMapper().mapAsList(srcList, TypeFactory.valueOf(srcClass), TypeFactory.valueOf(dstClass));
    }
    
    public  static  Set mapSet(Iterable srcSet , Class srcClass ){
        return getMapper().mapAsSet(srcSet , srcClass);
    }
    
    public static  Set mapSet(Iterable srcSet , Class srcClass , Class dstClass ){
        return getMapper().mapAsSet(srcSet , TypeFactory.valueOf(srcClass) , TypeFactory.valueOf(dstClass));
    }
    
    public static  D[] mapArray(D[] destination, Iterable source, Class destinationClass){
        return getMapper().mapAsArray(destination , source , destinationClass);
    }
    
    public static  D[] mapArray(D[] destination, S[] source, Class destinationClass){
        return getMapper().mapAsArray(destination , source , destinationClass);
    }
    
    public static   void mapCollection(Iterable source, Collection destination, Class destinationClass){
        getMapper().mapAsCollection(source,destination,destinationClass);
    }
    
    public static   void mapCollection(Iterable source, Collection destination, Class sourceClass, Class destinationClass){
        getMapper().mapAsCollection(source,destination, TypeFactory.valueOf(sourceClass) , TypeFactory.valueOf(destinationClass));
    }
}

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号