1、lombok
1)、maven使用:
2)、IntelliJ idea安装:
/setup/intellij
3)、所有特性
/features/all
@Getter/@Setter
@ToString
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
@EqualsAndHashCode
@Data
2、appache-commons
appache-commons真是一个强大的家族,里面有的东西应该能覆盖大家的方方面面了。
/
比较常用的有:
commons-lang
commons-colloctions
其他工具包:
/proper/commons-io/
/proper/commons-beanutils/
/proper/commons-codec/
/proper/commons-dbutils/
/proper/commons-fileupload/
3、使用lombok反序列化的问题
来源(/u/566591/blog/664617#h3_2)
使用fastJson对json字符串进行反序列化时,有几个点需要注意一下:
反序列化内部类
反序列化模板类
Getter/Setter问题
如大家希望返回的一个json串为
下面是大家的定义的dto对象,通过序列化后能得到大家预期的结果么?
实际上返回的结果与大家预期的还是有差别的
解决方案:
注意项:
默认构造方法
使用lombok注解时, 需要注意 isXxx 这种,序列化字符串中的key,可能就变成 xxx
如何区分编程和敲代码?
编程是指编写程序,敲代码是敲入代码。编程的过程中肯定有敲代码的阶段。这样两者的关系就很清楚了。
编程过程除了敲代码以外,还有很多内容,现在大家分步骤来解释一下。
第1个步骤就是,要了解你编程的目的,也就是程序的需求。这一部分要理清楚整个程序的输入和输出。输入和输出一般代表的是使用的场景。比如说大家要写一个上传图片的程序。这里的输入就是选择图片。这里的输出就是完成图片上传并返回成功或者失败的消息。
这一部分在传统的软件工程里面叫做需求分析。这个过程看,一般不需要敲代码,需要绘制一些状态图,把用户的输入和输出都列出来。
第2个步骤就是架构的设计。要想提高程序的可维护性,健壮性和程序的高效率,程序的架构非常重要。一般是根据需求分析来选择几种可行的方案,然后选出最优的一种或者最符合现状的一种行之有效的实现方案。
还拿上传图片那个例子,这一块主要是研究前端用什么,后端用什么。然后前端用什么技术,前端支持几种平台,后端用什么技术,还包括选择合适的数据库。
这一部分参考的因素主要是面对现实,可能要结合现有的开发团队的技术实力来进行选择,可能要结合当前技术的发展趋势来作出选择,也可能为了项目的快速推动来做出一个选择。
这一步在传统的软件工程里面称之为程序设计阶段。
第3个步骤就是代码实现。这个步骤就会有敲代码这一个过程。这个过程呢,理想的情况是,80%体力劳动,剩下的20%算是脑力劳动。但这个也不是绝对的,因为取决于程序设计那一部分做到什么细化的程度。
还有就是程序员对程序设计的理解程度。跟程序员的个人素质也有很大关系。
这个阶段比较熬人的就是体力劳动这一部分,要消耗很大的精力去写代码,去参考别人的代码,然后修改,最后要写出高质量的代码。
在传统的软件工程中,这一步就称为编码。
第4个步骤就是程序测试阶段。在这一阶段,程序员做的工作不是很多,一般都是修改bug。当然了,修改bug也要敲代码。所以这部分严格的说,也有敲代码的过程。
还是以上面的上传图片作为例子。这个地方可以测几种情况,一种是通常的照片,一种是非法的照片,一种是非常庞大的照片。然后上传完了会有一个返回的访问链接,那么就可以测试一下这个链接。以上几个场景,如果没有通过,那就算是一个bug, 然后程序员就需要通过编程来修复这个bug。这个地方绝对不是敲代码那么简单,需要分析前因后果找出最好的方案来。
这个阶段通过以后,基本上就进入程序的交付,验收的过程,然后随后就是程序的维护。
关于编程和敲代码,大家就先说这么多吧,欢迎留言点赞,关注丁哥开讲,大家下个话题再见。
满屏爱心特效代码如何复制?
满屏爱心代码复制,就是把特码涂黑按复制键,再粘贴保存。把这段代码保存在你手机的便签中,
需要手动操作时对照即可,这种方式更适合第一次纯手动操作。第一次“拼”出大红心之后,长按复制,再粘贴发给自己,就可以达到永久保留的目的,以后想用的时候,就可以直接粘贴到对方的聊天框,再发送出去就行了,不用再重复操作。