封装一个Automapper单例
public class DataModule : IModule{public void Configure(IMapperConfigurationExpression cfg){//cfg.CreateMap<ApproveAtcPo, ApproveAtcVo>().ReverseMap(); }}
/// <summary>/// 注册需要转换的类型/// </summary>private PoMapper(){AutoMapper.Mapper.Initialize(cfg =>{ //多模块注册方式new DataModule().Configure(cfg);new AliasModule().Configure(cfg); });}
1 public class MapperTool 2 { 3 private static volatile MapperTool mapper = null; 4 private static object syncRoot = new Object(); 5 public static readonly List<Type> typeList = null; 6 /// <summary> 7 /// 注册需要转换的类型 8 /// </summary> 9 private MapperTool() 10 { 11 Mapper.Initialize(cfg => 12 { 13 //指定不同属性映射demo 14 //cfg.CreateMap<auth_userVo, t_auth_user>() 15 // .ReverseMap() 16 // .ForMember(dest => dest.id, opt => opt.MapFrom(src => src.rid)) 17 // .ForMember(dest => dest.update, opt => opt.MapFrom(src => src.create)); 18 19 }); 20 //验证是否所有字段都转换了 21 //Mapper.Configuration.AssertConfigurationIsValid(); 22 } 23 24 private MapperTool(List<Type[]> TypeList) 25 { 26 Mapper.Initialize(cfg => 27 { 28 foreach (var type in TypeList) 29 { 30 cfg.CreateMap(type[0], type[1]).ReverseMap(); 31 } 32 }); 33 } 34 35 36 /// <summary> 37 /// 初始化注册Mapper 38 /// </summary> 39 public static MapperTool Instance 40 { 41 get 42 { 43 if (mapper == null) 44 { 45 lock (syncRoot) 46 { 47 if (mapper == null) 48 { 49 mapper = new MapperTool(); 50 } 51 52 } 53 } 54 return mapper; 55 } 56 } 57 58 /// <summary> 59 /// 传入需要转换的对象 60 /// </summary> 61 /// <typeparam name="F">需要转换的对象类型</typeparam> 62 /// <typeparam name="T">转换目标对象类型</typeparam> 63 /// <param name="f">需要转换的对象</param> 64 /// <returns>目标对象</returns> 65 public T Map<F, T>(F f) 66 where F : new() 67 where T : new() 68 { 69 return Mapper.Map<F, T>(f); 70 } 71 }
View Code
转载于:https://www.cnblogs.com/zzlblog/p/10013182.html
封装一个Automapper单例相关推荐
- php打包mysql_PHP封装MySQL的单例
//封装MySQL单例 class MySQLDB { private $host;//主机地址 private $port;//端口号 private $user;//用户名 private $pw ...
- 封装mysql数据库操作系统_封装MySQL的单例,连接数据库并对数据进行增删改查操作...
//私有的构造方法用来阻止在类的外部实例化private function __construct($param){$this->initData($param);$this->conne ...
- Java单例设计模式(实现Java的一个类只有一个对象)
单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例类的核心类. 核心便是希望一个类只有一个对象. 如何实现类在内存中只有一个对象呢? 第一步:构造私有: 第二步:本身提供 ...
- Unity的MonoBehaviour单例设置
Unity的MonoBehaviour单例设置 MonoBehaviour的基本单例模式 MonoBehaviour单例的泛型基类 MonoBehaviour单例脚本的问题 解决方案 互斥锁Mutex ...
- 【Kotlin】Kotlin 单例 ( 懒汉式 与 恶汉式 | Java 单例 | Kotlin 单例 | 对象声明 | 伴生对象 | get 方法 | ? 与 !! 判空 )
文章目录 I . 单例的懒汉式与恶汉式 II . Java 中的懒汉式与恶汉式 III . Kotlin 中对应 Java 的懒汉式与恶汉式 IV . Kotlin 对象 ( object ) 声明 ...
- iOS之深入解析单例的实现和销毁的底层原理
一.单例的概念 单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点.它通常采用懒加载的方式在第一次用到实例的时候再去创建它. 单例可以保证在程序运行过程,一个类只有一个实 ...
- java httpclient单例_java-8 – CloseableHttpClient.execute每隔几周就会冻结一次,尽管超时...
我们有一个groovy单例,使用PoolingHttpClientConnectionManager(httpclient:4.3.6),池大小为200,以处理与搜索服务非常高的并发连接并处理xml响 ...
- Python(25)-单例设计模式
单例设计模式 1.单例设计模式 2.__new__方法 3.初始动作只执行一次 本系列博文来自学习<Python基础视频教程>笔记整理,视屏教程连接地址:http://yun.itheim ...
- 关于跨dll的模板单例问题
C++的模板可以帮助我们编写适合不同类型的模板类,给代码的复用性提供了极大的方便.近来写了一个涉及单例的C++模板类,简化下来可以归结为以下的代码: 1 2 3 4 5 6 7 8 9 10 11 t ...
- android懒加载单实例,【 Android 10 设计模式 】系列 -- 单例
前言 由于源码分析的代码量比较大,大部分博客网站的内容显示页面都比较窄,显示出来的效果都异常丑陋,所以您也可以直接查看 < Thinking in Android > 来阅读这边文章,希望 ...
最新文章
- 【Perl】二维数组
- Spring-boot注入配置为java静态属性
- 模仿github网页前端HTML,仿github404页面特效
- 开源Math.NET基础数学类库使用(11)C#计算相关系数
- 跨域请求之JSONP
- Hibernate中的inverse属性和cascade属性
- leetcode-832-Flipping an Image
- [python]如何清屏?也就是实现clear?
- 你真的理解BIO、NIO、AIO的区别吗?
- canvas压缩图片成base64,传到后台解码需要注意的问题
- PHP中Trait详解及其应用
- 数字图像处理 冈萨雷斯 (内含算法链接)
- java jwt 单点登录_jwt技术实现系统间的单点登录
- 网站点击流数据分析项目
- 512-rear chassis fan not detected的解决方法
- java当前不可用,java代码向服务端狂发消息,导致的服务器连接通道不可用
- 超越源域的攻击:面向黑盒域制作对抗样本
- SpringMVC几个模型对象
- 图书信息管理系统(数据结构顺序表,c语言版)
- 干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
热门文章
- Flutter之EdgeInsetsGeometry简析
- arraylist扩容是创建新数组吗 java_手撕ArrayList底层,透彻分析源码
- java如何输入字符串_在java中如何将一个输入了 InputStream转为一个字符串String?...
- 面向流批一体的 Flink Runtime 新进展
- 重磅!Apache Flink 1.11 功能前瞻来啦
- java中判断当前日期是星期几
- 几个清华、北邮、同济学霸的公号,值得关注
- MMP,我兄弟转正前一天,一个垃圾公司把他辞退了!
- @configuration注解_SpringBoot注解大全,收藏一波!!!
- java案例代码20--斗地主V2