TLS/https

安全通信在现代应用程序中起着重要作用。客户端和服务器之间通过纯 HTTP 进行的通信不安全。对于用于生产的应用程序,应在应用程序中通过TLS(传输层安全性)协议启用HTTPS。

HTTPS 即 HTTP over TLS。TLS为客户端与服务器之间的数据传输提供安全保护。安全套接层(SSL)和传输层安全性协议(TLS)通常可以互换使用,但它们并不相同,SSL是TLS的前身。 TLS 分为单向或双向认证。

MapStruct

MapStruct 是一个开源的基于 Java 注释处理器 (Annotation Processing Tool (apt)) 的代码生成器,用于创建实现 Java Bean 之间转换的扩展映射器。使用 MapStruct,只需要创建接口,而该库会通过注解在编译过程中自动创建具体的映射实现,大大减少了通常需要手工编写的样板代码的数量。

数据传输对象(Data Transfer Objects, DTO) 隐藏不需要的属性。微服务间需要大量的实体映射。

Java assert 断言

断言是 Java 编程语言中的一个语句,它使您能够测试您对程序的假设。例如,如果您编写一个计算粒子速度的方法,您可能会断言计算出的速度小于光速。

每个断言都包含一个布尔表达式,当断言执行时,您认为该表达式为真。如果不正确,系统将抛出错误。通过验证布尔表达式确实为真,断言证实了您对程序行为的假设,增加了您对程序没有错误的信心。

经验表明,在编程时编写断言是检测和纠正错误的最快和最有效的方法之一。作为一个额外的好处,断言用于记录程序的内部工作,增强可维护性。