第五章: spring cloud多模块项目框架搭建-集成lombok
本系列博客旨在搭建一套能用于实际开发使用的spring cloud多模块微服务项目框架,并不是一个spring cloud的demo而已,提供系统的开发规范限制,微服务注册中心,配置中心,负载均衡,熔断,redis缓存,分布式事务,kafka服务消息通信,系统安全(sql注入攻击,xxs攻击等等),多数据源切换,全局异常处理等等。
目录顺风车:
spring cloud多模块项目框架搭建:https://blog.csdn.net/lingyancangqiong/article/details/109841353
Project Lombok 官网:https://www.projectlombok.org
Project Lombok 文档:Reducing Boilerplate Code with Project Lombok | Object Computing, Inc.
常住的这家宾馆,前两日被子消毒有问题,导致刺激性过敏,全身红斑巨氧。那一夜通宵未眠,写下了"切肤红酊如蚁过,且待入梦且待明"的朋友圈🤢,各位可以想象是多么难熬的一夜。所以也就耽误了更新,今日基本痊愈了,也就加快更新的步伐。
本章我们来集成lombok,全称Project Lombok.使用它通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码,lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法。
一. 添加lombok的maven依赖
1. 在deam父模块的pom.xml添加如下依赖:
<properties>
<lombok.version>1.18.16</lombok.version>
</properties>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
2. 在dream-order和dream-activity的pom.xml分别添加如下依赖:
<!--lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
二. 添加了jar依赖,还要为idea添加插件,要让idea认识你的注解,不然会报错。
这是官网的介绍,其实不难看懂。他说让idea和lombok兼容,得为idea装上lombok的插件,下面几个就是在idea上的操作步骤。说到插件,这里推荐两个,AiXcode和SonarLint,SonarLint一个是代码规范检查的,另一个是通过ai学习智能代码补全的。
三. lombok的使用
还记得上一章通过Mybatis-Plus生成的代码报错被我们注释的那三个注解吗?现在可以把它放开了,导包,再删掉get,set方法。你会发现Service层里面使用entity的get,set方法也不报错了,我们一般在实体类使用@Data就行了,把另外两个干掉。
@Data注解:生成getter,setter代码,另外@Data
相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
这5个注解的合集
@EqualsAndHashCode(callSuper = false),会生成equals(Object other) 和 hashCode()方法,注意当启动@EqualsAndHashCode时,默认不调用父类的equals方法,当做equals()类型相等判断时,会遇到麻烦。
@Accessors(chain = true)翻译是存取器。通过该注解可以控制getter和setter方法的形式,有luent,chain,prefix三个可选boolean值参数。luent 若为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象。chain 若为true,则setter方法返回当前对象.prefix 若为true,则getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名。
本章spring cloud多模块项目框架搭建-集成lombok到这里就全部结束了,lombok还有很多好用的注解,大家可以照着文首的lombok文档去使用,可以减少我们大量的一些无意义代码,比如我用的比较多的@AllArgsConstructor注解,它可以让你要注入多个类时,免于每个都去添加@Autowired或者@Resource注解。下一章我们来说说druid的使用。最后分享一句我今天看到的一句觉得说的很好的话:任何技术的出现都是为了解决某一类问题,如果在此基础上再建立奇技淫巧,不如回归Java本身,应该保持合理使用而不滥用。
本章代码我放在了蓝奏云,可以下载下来对照对照: (https://wws.lanzous.com/b01htzpxg 密码:i41o )
上面所写内容如有不足和纰漏,欢迎留言或私聊指正批评。如果需要转载,也是欢迎,不甚荣幸,但请把《spring cloud多模块项目框架搭建》这一系列博客全部一起转载,这一系列博客毕竟是个整体教程,如果别人只看到一部分,那就是个残次品,谢谢,鞠躬。