java开发时各类工具的使用规范 Java 编程技术

java开发时各类工具的使用规范

工具类规范 一个项目不可能没有工具类,工具类的初衷是良好的,代码重用,但到了后面工具类越来越乱,有些项目工具类有几十个,看的眼花缭乱,还有不少重复。如何编写出好的工具类,我有几点建议: 隐藏实现 就是要定义自己的工具类,尽量不要在业务代码里面直接调用第三方的工具类。这也是解耦的一种体现。如果我们不定义自己的工具类而是直接使用第三方的工具类有2个不好的地方: 不同的...
阅读全文
Vo对象,Dao对象,Dto对象的部分属性复制BeanCopier&BeanUtils Java 编程技术

Vo对象,Dao对象,Dto对象的部分属性复制BeanCopier&BeanUtils

在实际的开发中,存在Vo对象,Dao对象,DTO对象的部分属性复制的问题 比较笨的办法 A.setxxx(B.getXXX),费时又费力,怎么解决这个问题呢? 推荐使用两种对象属性复制的办法: 对象属性拷贝的两种方式: 1、BeanUtils(注意BeanUtils使用的是spring的Beanutils的) 2、BeanCopier 先准备三个Vo对象,Dao对象,Dto...
阅读全文
记一次Apache的代码导致生产服务耗时增加 Spring

记一次Apache的代码导致生产服务耗时增加

二狗:二胖快醒醒,赶紧看看刚才报警邮件,你上次写的保存用户接口耗时( 《二胖的参数校验坎坷之路》 )大大上升,赶紧排查下原因。 二胖 :好的,马上看,内心戏可十足(心里却在抱怨,大中午的搅我发财美梦,刚刚梦见我买的股票又涨停了就被叫醒了)。牢骚归牢骚,自己的问题还是得看啊,毕竟是自己写的 bug ,含着泪也要把它修复掉。二胖对分析这种问题还是得心应手的,毕竟已经是久经职场的老油条了。 测试环...
阅读全文
浅谈微服务体系中的分层设计和领域划分 编程技术 软件架构

浅谈微服务体系中的分层设计和领域划分

引言 看标题感觉这个东西很理论,比起“高并发、多线程”、“分布式CAP、一致性、Paxos”、“高可用SLA”等具体的干货技术点,软件体系知识显得很“湿”,似乎人人都有自己的认识,但又很少有人能说完整,有一点可以确定的是,如果你未来需要独立设计一个复杂的系统中台,并使之未来能快速应对各种需求变化的话,科学合理的领域划分和边界界定需要我们“处女座级”的坚持下去,这对防止人力失控、减少项目烂尾很有...
阅读全文
属性复制神器-mapstruct Java 编程技术

属性复制神器-mapstruct

我们之前说到项目中会用到各种object,vo,bo,dto等等。我们需要在不同的对象上复制属性。 一、BeanUtils和PropertyUtils 我们最常用的就是Common包里面的BeanUtils,或者Spring里面的BeanUtils. BeanUtils.copyProperties(dest, orig); 还有一个PropertyUtils Property...
阅读全文
你还在用BeanUtils做对象拷贝吗? Java 编程技术

你还在用BeanUtils做对象拷贝吗?

最近开始负责一个数据量比较大的业务模块,要求把相关数据全部查出来,不分页,要组树结构,数据从dao层到service由entity对象到Vo对象给前端展示。那么就涉及到对象拷贝,开始的时候用的Spring的BeanUtils做对象转换,并没有什么问题,后来到了测试那里,加大数据量,发现接口越来越慢,开始以为数据库查询问题,把sql搬到数据库运行,发现并不慢,因为关键字段基本都走了索引,不会很慢,后...
阅读全文
CKEditor 5 + SpringBoot实战(三):SpringData JPA数据持久化 Spring

CKEditor 5 + SpringBoot实战(三):SpringData JPA数据持久化

在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData JPA数据持久化,CKEditor5的安装,CKEditor图片上传,CKEditor插入视频,获取/设置CKEditor内容等。 项目源码 本系列文章的项目源码同步更新至 码云 和 Github ,你可以...
阅读全文
10个 解放双手的 IDEA 插件,少些冤枉代码 Java 编程技术

10个 解放双手的 IDEA 插件,少些冤枉代码

❝ 友情提示:插件虽好,可不要贪装哦,装多了会 卡 、卡 、卡 ~ ❞ 正经干活用的 分享一点自己工作中得心应手的 IDEA 插件,可不是在插件商店随随便便搜的,都经过实战检验,用过的都说好。可能有一些大家用过的就快速划过就行了。 1、GenerateAllSetter 实际的开发中,可能会经常为某个对象中多个属性进行 set 赋值,尽管可以用 BeanU...
阅读全文
Java中List浅拷贝深拷贝问题 Java 编程技术

Java中List浅拷贝深拷贝问题

基本数据类型的成员变量,进行值传递(将该属性值复制一份给新的对象)。 引用数据类型的成员变量,比如说成员变量是某个数组、某个类的对象等进行引用传递(将该成员变量的引用值(内存地址)复制一份给新的对象)。 深拷贝 基本数据类型的成员变量,进行值传递(将该属性值复制一份给新的对象)。 引用数据类型的成员变量,比如说成员变量是某个数组、某个类的对象等,会重新分配内存并将成员变量拷贝...
阅读全文
SpringMVC的项目架构思想 Spring

SpringMVC的项目架构思想

SpringMVC的项目架构思想 一、DO和Model的区别 DO是对数据库表的映射。Model是处理业务逻辑的模型(领域模型)。例如:用户信息表和用户密码表分别是两个DO,但是对于实体用户来说,密码表的字段也属于用户,所以需要在Service层使用Model来处理业务逻辑,Model包含了两张表的字段的并集。在Mapper层使用DO,在Service层使用Model。 pu...
阅读全文
Loading...