2019.10月总结



转眼已经11月份了,写下最近学到的一些知识以及这个月需要学习的知识,虽然出来实习后时间可能比较少,写博客的频率比较低,但是一个月还是必须要总结一下的:

1. DO、DTO、VO、POJO的区别

参考阿里巴巴代码规范:

  • DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。
  • DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
  • BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。
  • VO( View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
  • POJO( Plain Ordinary Java Object):在本手册中, POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
  • Query:数据查询对象,各层接收上层的查询请求。 注意超过2个参数的查询封装,禁止使用Map类来传输。

领域模型命名规约:

  • 数据对象:xxxDO,xxx即为数据表名。
  • 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
  • 展示对象:xxxVO,xxx一般为网页名称。
  • POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

2.代码规范

代码一定要规范,这一点可以参考阿里巴巴代码规范,总结的还是很详细的,通读一遍,会收获许多,最近我也是一直嫌弃自己的代码怎么可以这么丑,而且无章可循,就比如说

  • 注释,一般接口、类、枚举类的属性、类属性、类方法这些都是需要注释的,不然不好维护;
  • 能简洁就简洁,比如说能使用lambda表达式那种就使用那种,使人看起来很舒服;
  • 避免踩坑,这里就要靠经验,比如说不要在ArrayList.foreach里面进行add和remove操作,会报异常,应该使用迭代器;
  • 注意时间复杂度,SQL语句编写要规范。
  • 谷歌编码规范
  • 晓风轻技术小站

3.Git的学习

对于Git的学习还是实操比较好,可以参考官方文档。crison也跟我们培训了Git的常规使用以及原理;

  • Git的分支操作其实就是基于链表来实现,链表切换分支可以达到O(1)的时间复杂度,切换分支时就把Head指针指向哪个分支;

  • Git不保存文件的内容,Git只存储变更记录。

  • git init –bare 跟 git init 的区别:
    git init –bare 只是new 一个裸露的.git文件,不能编辑文件的内容,只有.git文件
    git init 的话除了有.git文件外,还可以记录文件内容

  • Git的远程仓库也可以在本地,不一定只在远端;

  • .git文件包含以下内容:
    在这里插入图片描述

    4.中台战略思想

    我个人理解的中台就是说把一些公共的东西抽取出来,不要做重复的东西。大中台,小前台,简便开发。
    可以参考以下文章:
    阿里中台思想
    ThoughtWorks洞见

5. Mybatis-Plus 的常规使用

最近由于业务驱动,持久层的框架是Mybatis-Plus,花一波时间再去好好了解以下,真的,官方文档就足够,学什么都是如此,可以站在巨人的肩膀上学习。

使用这些主要是进行单表的简单操作,其中还包含一些lambda表达式。使用lambdaQuery相对更好一点,不用硬编码,以后比较好维护。
在这里插入图片描述

6. PostMan的使用

  • 适当建立工作区
    在这里插入图片描述
  • 建立收藏夹,以后方便进行测试
    在这里插入图片描述
  • 适当使用变量
    在这里插入图片描述
    这样在路径中就可以通过、和来获取值,这样显示的就很清楚。
    在这里插入图片描述

7.其他

BeanUtils.copyProperties是一个浅拷贝方法,复制属性时,我们只需要把DTO对象和要转化的对象两个的属性值设置为一样的名称,并且保证一样的类型就可以了。如果你在做DTO转化的时候一直使用set进行属性赋值,那么请尝试这种方式简化代码,让代码更加清晰!

  • org.springframework.beans.BeanUtils.copyProperties(source, dest) 将source复制给dest
  • org.apache.commons.beanutils.BeanUtils.copyProperties(dest,source) 将dest赋值给source

对于以上两种最好写一个工具类来进行赋值,不然某天改代码的话会很麻烦。

TODO List

  • Docker(命令、原理、用途)
  • K8s(原理可参考文档)
  • Linux(一些不常用的命令也要会)
  • Java8(Lambda表达式)
  • Kafka

路漫漫其修远兮,吾将上下而求索,感觉还是很多东西要学哈😂,师父领进门,修行还是得靠个人,有幸的是公司很多大牛可以教你,不懂就问,收获颇丰富。


   转载规则


《2019.10月总结》 ForeverSen 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
读《高效能人士的七个习惯》 读《高效能人士的七个习惯》
读《高效能人士的七个习惯》 最近读完了 史蒂芬·科维的『高效能人士的七个习惯』,对于初入职场的人来说,收获挺多,从中你可以在如今的生活中发现自己很多需要去提高的地方。希望能好好践行这七个习惯,对生活还有工作会很有帮助。是本经典好书。简单讲下
2019-11-28
下一篇 
只有一次的秋招 只有一次的秋招
 广州本科秋招之路,Java后台方向 说说这两个多月的感受吧,纯属个人总结贴,不喜勿喷哈,今天算是想结束秋招了,一路走来,真的很多感概,不知道从何说起,很幸运的是拿到了一个小公司的offer,base深圳,这算是对我这个菜鸡很大的鼓励了吧
2019-10-10
  目录