【视频&交流平台】
http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share
http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share
https://gitee.com/happyangellxq520/spring-boot
http://412887952-qq-com.iteye.com/blog/2321532
需求缘起
我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法,那Java中有没有一种方式能够避免这种重复的劳动呢?Lombok就是为此而生的。
本节大纲:
一、Lombok简介
二、Lombok安装
三、注解介绍
一、Lombok简介
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
官方地址:https://projectlombok.org/。
github地址:https://github.com/rzwitserloot/lombok。
二、Lombok安装
2.1 下载lombok.jar
从地址https://projectlombok.org/download 下载lombok.jar,当前最新的版本是1.16.18。
2.2 运行lombok.jar
运行Lombok.jar:java -jar D:\lombok.jar(D:\lombok.jar这是windows下lombok.jar所在的位置)。
数秒后将弹出一框,以确认IDE的安装路径(选择IDE的路径,这里使用的Eclipse)
确认完eclipse的安装路径后,点击install/update按钮,即可安装完成
2.3 验证是否安装成功
安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其
配置文件eclipse.ini中是否 添加了如下内容:
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可。
2.4 重启IDE
重启IDE,这里是重启eclipse,到这里就可以体验lombok带来的快乐了。
三、注解介绍
在这里介绍几个常用的注解,更多的可以参考:https://projectlombok.org/features/index.html
(1)@Getter / @Setter
可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。
(2)@EqualsAndHashCode
默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
(3)@ToString
生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
(4)@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。
(5)@Data
@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,我们使用这个注解就足够了。
本篇文章参考如下文章:
eclipse中使用Lombok:https://segmentfault.com/n/1330000003805656
Java奇淫巧技之Lombok:http://blog.csdn.net/ghsau/article/details/52334762
相关推荐
## Spring Boot 概述 Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。 Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。...
<groupId>org.springframework.boot <artifactId>spring-boot-starter-parent <version>2.7.5 <relativePath/> <!-- lookup parent from repository --> <groupId>com.wms</groupId> ...
ShardingSphere实现分库 + 读写分离 有关ShardingSphere实现分库分表前面写了7篇博客...spring-boot-sharding-ssphere # 父工程 | #实现读写分离功能 ---db-read-write | #实现分表功能 ---sub-table | #实现分
1.概述 spring boot项目整合mybatis,通过mybatis生成器插件进行扩展,自动生成mybatis配置环境及实体文件 example模块是使用样例参考,extend模块是扩展源码,可直接复制到项目中以模块安装方式使用,也可打成jar包...
提供基于Spring Boot和MySQL的基本管理面板。 SBAP提供用户,角色和权限管理的基本CRUD功能。 将Thymeleaf用于模板引擎。 截屏 使用的依赖 Lombok 帕萨伊 JUnit的 格森 去做 为每个视图分配权限。 释放演示管理员...
참고자료Spring-控制器处理后修改响应头使用WebSocket构建交互式Web应用程序Spring Framework中的CORS支持工作坊-从Spring 4.0到4.2 使用Spring Boot,Nashorn和React的同构模板脚本模板HTTP流Spr
课程概述该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户...
SpringBoot2.1.5 + Maven3.5.4 + Redisson3.5.4 + lombok(插件) 2、加锁方式 该项目支持 自定义注解加锁 和 常规加锁 两种模式 自定义注解加锁 @DistributedLock(value="goods", leaseTime=5) public String ...
Lombok FastJson 版本规划 下一个版本的迭代主要是集成第三方依赖如下所示: 七牛云上传/下载 阿里云OSS上传/下载 阿里云短信服务 内置事件发布(Spring Event) 目录概述 . framework ├── converter ├── ...
课程概述该互联网实战项目是基于?Spring?Boot?2+?SpringSecurity5+Element?UI+Vue?Admin?Template+蚂蚁可视化AntV?等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等...
课程概述该互联网实战项目是基于?Spring?Boot?2+?SpringSecurity5+Element?UI+Vue?Admin?Template+蚂蚁可视化AntV?等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等...
全栈登录应用程序 技术: Spring(Web,引导,REST,JPA,安全性,验证) ...设置Spring Boot React Login应用程序的步骤 克隆应用 git clone https://github.com/karesz123/codeBoard.git cd codeBoa
ZEN-SCAFFOLD - 一个基于Spring Boot的微服务脚手架 ## 特性 - 使用SpringBoot系列框架 - Maven构建,微服务各自独立,使用聚合而非继承 - Git版本控制,遵循集团开发流程 - 使用Spring MVC提供REST服务 - 持久层...
概述 尝试:尝试执行业务 完成所有业务检查(一致性) 补充必须业务资源(准隔离性)Confirm:确认执行业务 真正执行业务 不作任何业务检查 只使用Try阶段阶段的业务资源 确认操作满足幂等性取消:取消执行业务 释放...