声明: 1.DO(业务实体对象),DTO(数据传输对象). 2.我的代码中用到了 Lombok ,不了解的可以自行了解一下,了解的忽略这条就好. 在一个成熟的工程中,尤其是现在的分布式系统中,应用与应用之间,还有单独的应用细分模块之后,DO 一般不会让外部依赖,这时候需要在提供对外接口的模块里放 DTO 用于对象传输,也即是 DO 对象对内,DTO对象对外,DTO 可以根据业务需要变更,并不需要映射 DO 的全部属性. 这种 对象与对象之间的互相转换,就需要有一个专门用来解决转换问题的工具,毕竟…
官网地址:http://mapstruct.org/ MapStruct 是一个代码生成器,简化了不同的 Java Bean 之间映射的处理,所谓的映射指的就是从一个实体变化成一个实体.例如我们在实际开发中,DAO 层的实体(PO)和一些数据传输对象(DTO),大部分属性都是相同的,只有少部分的不同,通过 mapStruct,可以让不同实体之间的转换变的简单.我们只需要按照约定的方式进行配置即可. MapStruct 是一个可以处理注解的 Java 编译器插件,可以在命令行中使用,也可以在 ID…
一.什么是MapStruct? MapStruct是用于代码中JavaBean对象之间的转换,例如DO转换为DTO,DTO转换为VO,或Entity转换为VO等场景,虽然Spring库和 Apache 的库提供了类似BeanUtils用于转换对象,但是性能不佳(需要判断类是否被加载,如果没加载,还要加载类.因此反射性能低), 并且要类型和名称一样才能进行映射,因此可以推荐使用MapStruct,不仅可以快速实现JavaBean之间的转换,且能实现List之间的转换, 而且性能不错: 二.使用Ma…
1.序 通常在后端开发中经常不直接返回实体Entity类,经过处理转换返回前端,前端提交过来的对象也需要经过转换Entity实体才做存储:通常使用的BeanUtils.copyProperties方法也比较粗暴,不仅效率低下(使用反射)而且仅映射相同名的属性,多数情况下还需要手动编写对应的转换方法实现. 插件MapStruct以接口方法结合注解优雅实现对象转换,MapStruct生成器生成代码以更贴近原生的Setter.Getter方法处理属性映射更为高效. https://github.com…
相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设计的一定是数据库表结构,而不是实体类.实体类仅仅是对底层数据结构的有损压缩,它仅仅是数据载体,不具备数据归档能力. 因此,很多时候,我们需要将原始的SQL建表语句转换成java实体类,这项工作看似简单,但若人工完成,工作量也是相当可观的,而且难免会出现差错. 到目前为止,笔者还没有发现比较靠谱的此类…
写了一个java实体类,implements了Serializable接口,让serialversionUID自动生成方法: 1.点击类旁边的警告符号: 2.选择Add generated serial version ID即可自动生成. 分享 本回答由电脑网络分类达人 董辉认证    …
推荐一个web字体转换工具:https://www.fontsquirrel.com/tools/webfont-generator…
今天给大家推荐一个牛逼的纯 Java 技术公众号:Java技术栈,作者:栈长. Java程序员.Java爱好者扫码关注吧! 确实牛逼,几十万人关注了,原创文章350+,好友都 3000+ 关注了. 栈长分享的都是主流的 Java 技术干货,来,下面我给大家随便抓几篇,都是上万阅读,干货满满. 1.Java 12 骚操作, switch居然还能这样玩 2.推荐一款阿里开源的 Java 诊断工具 3.Intellij IDEA 智能补全的 10 个姿势 4.面试问我 Java 逃逸分析,瞬间被秒杀了…
一个Java程序员跟大家谈谈从业心得 2017-10-21 java那些事 java那些事 java那些事 微信号 csh624366188 功能介绍 分享java开发中常用的技术,分享软件开发中各种新技术的应用方法.每天推送java技术相关或者互联网相关文章.关注“java那些事”,让自己做一个潮流的java技术人!<java程序员由笨鸟到菜鸟>系列文章火热更新中. 貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时,才会真实的感受到这句话. 工作第一年,…
后台程序员整天在和数据打交道,天天的活就是抱着mysql抠数据,如果让他去写网站的样式,就让人感觉力不从心,所以推荐一个twitter的团队开发的东西,几乎囊括了网站所需的样式,http://www.bootcss.com/,表格,按钮什么的应有竟有,直接审查元素,cv,后端程序员们再也不愁样式怎么写了.…
Mybatis Mysql生成实体类 用到的Lib包: mybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.30.jar 1. 创建一个文件generator.properties, 主要用于配置相关路径和数据库信息. #工程src路径 project = D:/project/ #工程存放mapper.xml路径 resource = D:/project/ #指定数据连接驱动jar地址 classPath=D:/project/m…
场景:我们在系统运行中,需要监控某个代码段的运行时间,我们完全可以使用currentTimeMillis来做,但是做起来比较麻烦,尤其是需要阶段监控的时候,那么这个工具就出现啦~~~ 先说下想要实现的功能:1.能够对代码段进行运行时间的监控,比如代码行a->代码行b的运行时间.2.能够监控代码行嵌套的运行时间监控,比如a->b->c->d中a->d和b->c的运行时间监控(类似括号一样,形成配对的方式).3.能够在运行范围内的jvm一些指标的监控,比如内存使用量等. /…
DB备份.dump.电影等文件多了以后,经常遇到磁盘空间不够用的情况,日积月累本来清晰的目录结构找起来也很费劲,尤其是要查找删除无用的大文件.windows本身那差劲的搜索功能就不提了,从搜索引擎上查找工具,总是提示**零软件可以,比较反感. WizTree 是一个可以用来查找占用大量分区的无用文件和文件夹的查找大文件工具,界面中还会将搜索出来的文件夹从大到小排列,并且还会显示占用百分比.占用空间.文件数量.子文件夹数量等信息,可以直接进行删除等操作,非常方便.下载…
最近需要找一个生成api文档的工具,找来找去发现mkdocs特别符合需求. 部署只需python和pip 直接生成静态html 用markdown编写 不需要再markdown里指明日期.标题等信息 只用一个yaml文件配置站点信息 可以生成导航栏.目录 可以搜索,但是似乎只支持英文 支持主题 这么好的工具哪里找,嗯,这里:https://github.com/mkdocs/mkdocs…
最近的项目中用到了DB2数据库,由于DB2数据库客户端在操作操作和控制方面不是很方便,如存储过程的编写.后来我们在数据库的操作都转在DBArtisan上了,最新版好像是8.12.        下面介绍一下使用这个工具的方便之处: 一.在编写存储过程时可以使用向导完成,使用非常方便,如下图,我们先选择数据库模式(所有者),输入好存储过程的名称,点击下一步下图是选择输写存储过程所使用的语言(这里以SQL为例)然后再点击下一步,如下图: 在这里输入你在存储过程中用到的一些输入输出参数.然后狂点下一步…
zookeeper信息查看工具 下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip 解压,打开: ZooInspector\build\zookeeper-dev-ZooInspector.jar…
转载自: https://blog.csdn.net/zh_geo/article/details/52954145 VS2012 -> Analyze -> Calculate code metrics feature. 代码度量(Code Metrics)是用来测量专业标准的软件特性. 在某些方面,它提供了量化的有用反馈给开发者. 查看代码度量值很简单:在项目或解决方案上按右键,选择"Calculate Code Metrics". 以下是一些类似的结果: 结果窗口中有…
博客地址:https://quanke.gitbooks.io/design-pattern-java/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99%E4%B9%8B%E8%BF%AA%E7%B1%B3%E7%89%B9%E6%B3%95%E5%88%99.html…
Dozerhttp://www.manongjc.com/article/50949.html JAVA的映射工具 BeanUtils dozer的使用方法https://blog.csdn.net/qq_39004032/article/details/81106432 dozer使用教程https://blog.csdn.net/drdongshiye/article/details/87027855…
开源实体映射框架EmitMapper介绍   综述       EmitMapper是一个开源实体映射框架,地址:http://emitmapper.codeplex.com/.       EmitMapper映射效率比较高,接近硬编码.EmitMapper采用emit方式在运行时动态生成IL,而其他映射框架多是采用反射机制.此外EmitMapper最大限度地减少了拆箱装箱操作和映射过程中的额外的调用.       EmitMapper支持.net的所有平台:Framework 3.5.Mic…
转载:https://blog.csdn.net/u012562943/article/details/80995373 一.前言 容器的出现让Java开发人员比以往任何时候都更接近“编写一次,到处运行”的工作流程,但要对Java应用程序进行容器化并非易事:你必须编写Dockerfile,以root身份运行Docker守护进程,等待构建完成,最后将镜像推送到远程注册中心.但并非所有的Java开发人员都是容器专家,像以前那样只需要构建一个JAR包的日子已经结束了吗?为了应对这一挑战,谷歌开源了一个…
比较精准的一个java反编译工具,笔者有时候用jd-gui反编译不出来的class用luyten都可以反编译出来. 官方网站:https://github.com/deathmarine/Luyten 下载下来以后是两个jar Luyten-0.4.3.jar procyon-decompiler-0.5.27.jar 执行Luyten-0.4.3.jar即可使用,图形界面.…
  eclipse Java代码折叠工具 CreateTime--2018年5月17日15点09分 Author:Marydon 1.问题描述 eclipse自带的代码折叠工具,无法折叠try{}catch{}代码块和if(){}else{}代码块 2.安装代码折叠工具插件 第一步:将插件jar包拷贝到Eclipse安装目录的plugins文件夹下,如:D:\ProgramFiles\eclipse\plugins: 第二步:重启Eclipse: 第三步:设置-->java-->Editor-…
最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 首先需要java邮件的包javax.mail-1.5.4.jar 之前因为链接给错了,很不好意思,现在重新发一次. 包在这里可以下载http://download.csdn.net/detail/sun2015_07_24/9392090 第一步:邮箱需要开通POP3/SMTP等服务 第二步:设置授权码,代码中所写的密码不是邮箱密码是授权码 package com.jspxcms.common.util; import java.io…
Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换) 有时候要做出如下所示的展示文件大小的效果时候,需要对文件大小进行转换,然后再进行相关的代码逻辑编写. 下面是一个Java文件大小转换工具类 ,可以进行B,KB,MB,GB,TB,PB之间的大小转换.该工具类来源于博客:(http://blog.csdn.net/xmtblog/article/details/27194021) /*** * 存储大小(单位)转换器. */ public enum SizeConver…
若有疑问,可以联系我本人微信:Y1141100952 声明:本文章为原稿,转载必须说明 本文章地址,否则一旦发现,必追究法律责任 1:本文章显示通过 XML工具-XmlUtil工具实现解析soap报文的xml格式文档的解析,取出里面的数据,放到map的key-value的集合里面,在使用另外的一个工具类实现map映射成java的实体类.本人亲自做过是可以实现的.文档最后会附上soap.xml文档,以供参考. 2: XML工具-XmlUtil的使用说明:(网址:https://hutool.cn/…
# MapStruct 映射工具  本篇主要讲解MapStruct 一款映射工具,只需简单的定义一个Mapper接口,在编译期间,MapStruct将生成此接口的实现,据说MapStruct性能最高是Spring的CopyProperties的10倍,与手工编写映射代码相比,MapStruct通过生成繁琐且易于编写的代码来节省时间.遵循约定优于配置方法,MapStruct使用合理的默认值,但在配置或实现特殊行为时会采取措施. ###  1.引入MapStruct的依赖 org.mapstruct…
回到目录 AutoMapper是一个.NET的对象映射工具,一般地,我们进行面向服务的开发时,都会涉及到DTO的概念,即数据传输对象,而为了减少系统的负载,一般我们不会把整个表的字段作为传输的数据,而是单独根据具体场景,写一个新的类,这个类一般以DTO结尾,意思是说,它是网络上的数据传输用的,而你的DTO数据对象的赋值过程就成了一个问题,而为了减少赋值过程的代码量,AutoMapper就出来了,它可以实现实体对实体的赋值过程,或者叫“映射过程”. 我心中的项目应该是这样的,用户业务服务,产品业务…
一.Object mapping 的技术分类: 运行期 反射调用set/get 或者是直接对成员变量赋值 . 该方式通过invoke执行赋值 *,实现时一般会采用beanutil, Javassist等开源库.这类的代表:Dozer,ModelMaper 编译期 动态生成set/get代码的class文件 ,在运行时直接调用该class文件.* 该方式实际上扔会存在set/get代码,只是不需要自己写了. 这类的代表:MapStruct,Selma,Orika ### 主要框架性能对比: 每秒钟…
来源 项目需要把Excel进行解析,并映射到对象属性,实现类似Mybatis的ORM的效果.使用的方式是自定义注解+POI,这种方式代码复杂而且不易于维护. easyexcel是阿里巴巴开源的一个框架,解决了字段映射问题.OOM问题.使用复杂问题等,总之是一个很方便的工具 GitHub链接 使用 添加依赖 <!--添加maven依赖--> <!--easyexcel--> <dependency> <groupId>com.alibaba</group…