END
开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。
深入理解 Java 多线程核心技术
2020 年九大顶级 Java 框架如何教女朋友学 Python?
Python 2.7 :今天起正式停用
点击“开发者技术前线”,选择“星标🔝”
13:21 在看|星标|留言, 真爱
自2013年毕业后,今年已经是我工作的第4个年头了,总在做java相关的工作,终于有时间坐下来,写一篇关于java写法的一篇文章,来探讨一下如果你真的是一个java程序员,那你真的会写java吗? 笔者是一个务实的程序员,故本文绝非扯淡文章,文中内容都是干货,望读者看后,能有所收获。
com.xxx.domain
,这样写好像已经成为了行业的一种约束,数据库映射对象就应该是domain
。但是你错了,domain 是一个领域对象,往往我们再做传统java软件web开发中,这些domain都是贫血模型,是没有行为的,或是没有足够的领域模型的行为的,所以,以这个理论来讲,这些domain都应该是一个普通的entity对象,并非领域对象,所以请把包名改为:com.xxx.entity
。org.springframework.beans.BeanUtils#copyProperties
对代码进行重构和优化:UserOutputDTO
:DTOConvert
接口,但是这样真的就没有问题,不需要再思考了吗?我觉得并不是,对于Convert这种转化语义来讲,很多工具类中都有这样的定义,这中Convert并不是业务级别上的接口定义,它只是用于普通bean之间转化属性值的普通意义上的接口定义,所以我们应该更多的去读其他含有Convert转化语义的代码。我仔细阅读了一下GUAVA的源码,发现了com.google.common.base.Convert这样的定义:@Data
,@AllArgsConstructor
,@NoArgsConstructor
..这些我就不进行一一说明了,请大家自行查询资料.@Accessors(chain = true)
,看如下代码:@RequiredArgsConstructor
和 @NonNull
):RestTemplate
,我相信你会我和一样,对他抛出的非http状态码异常深恶痛绝。RestTemplate
最为底层包装器进行包装器模式的设计:FilterRestTemplate
进行包装扩展:ExtractRestTemplate
很完美的更改了异常抛出的行为,让程序更具有容错性。在这里我们不考虑ExtractRestTemplate
完成的功能,让我们把焦点放在FilterRestTemplate
上,“实现RestOperations
所有的接口”,这个操作绝对不是一时半会可以写完的,当时在重构之前我几乎写了半个小时,如下:@Delegate
):开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。