18.案例实战:体验lombok的核心@Data和@Slf4j注解
代码:https://github.com/NIGHTFIGHTING/spring_boot_learning/tree/master/18/agan-boot/agan-boot-lombok
添加依赖
1.添加@Data可以使UserVO增加get,set方法
2.添加@Slf4j可以省略logger定义
访问http://127.0.0.1:9091/user
访问http://127.0.0.1:9091/log
# 在springboot中使用lombok
## 一、本课程目标:
1.学会安装lombok插件,并学会用lombok。
2.掌握lombok的核心@Data注解
3.掌握lombok的核心@Slf4j注解
## 二、为什么要使用lombok,它解决了什么问题?
Lombok 是一个 IDEA 插件,也是一个依赖jar 包。
它解决了开发人员少写代码,提升开发效率。
它使开发人员不要去写javabean的getter/setter方法,写构造器、equals等方法;最方便的是你对javabean的属性增删改,
你不用再重新生成getter/setter方法。省去一大麻烦事。
## 三、idea安装lombok插件
###步骤1:idea搜索lombok插件
打开IDEA的Settings面板,并选择Plugins选项,然后点击 “Browse repositories..”
![image](https://github.com/agan-java/images/blob/master/lombok/14.png?raw=true)
### 步骤2:安装并重启idea
点击安装,然后安装提示重启IDEA,安装成功;
![image](https://github.com/agan-java/images/blob/master/lombok/15.png?raw=true)
记得重启IDEA,不然不生效。
### 四、体验lombok核心注解@data
#### 步骤1: 什么是@data注解
@Data 注解在实体类上,自动生成javabean的getter/setter方法,写构造器、equals等方法;
#### 步骤2:pom文件添加依赖包
```
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
```
### 五、体验lombok第二核心注解@Slf4j
注解@Slf4j的作用就是代替一下代码
```
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
```
让你不用每次都写重复的代码
## 六:课后练习题
```
public class City {
private Long id;
private Long provinceId;
private String cityName;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getProvinceId() {
return provinceId;
}
public void setProvinceId(Long provinceId) {
this.provinceId = provinceId;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
}
```
请把以上City类,转换为lombok对象。
然后建个测试类,执行以下代码
```
City city=new City();
city.setId(100);
city.setCityName("深圳");
city.setProvinceId(200);
log.error("-----------error-------------"+city.toString());
```
参考:
https://www.cnblogs.com/hawk-li/p/10654473.html
18.案例实战:体验lombok的核心@Data和@Slf4j注解相关推荐
- 冰河最新出版的《深入理解高并发编程:核心原理与案例实战》到底讲了些啥?(视频为证)
大家好,我是冰河~~ 最近有很多小伙伴问我:<深入理解高并发编程:核心原理与案例实战>这本书有没有目录.我:安排!这不,我连夜录制了这本书的整体内容,希望能够为小伙伴们带来实质性的帮助,直 ...
- 【案例实战】SpringBoot整合Redis的GEO实现查找附近门店功能
像我们平常美团点外卖的时候,都会看到一个商家距离我们多少米.还有类似QQ附近的人,我们能看到附近的人距离我们有多少米. 那么这些业务是怎么做的呢?是如何实现 基于位置的附近服务系统呢. 在去了解基于位 ...
- 图解css3:核心技术与案例实战. 3.3 CSS3图片边框属性
3.3 CSS3图片边框属性 border-image效果在CSS2中,只有使用背景图片来制作,而且制作过程非常复杂,做完后也很难维护.如今CSS3中增添了一个图片边框的属性,能够模拟出backgro ...
- Spark 随机森林算法原理、源码分析及案例实战
图 1. Spark 与其它大数据处理工具的活跃程度比较 回页首 环境要求 操作系统:Linux,本文采用的 Ubuntu 10.04,大家可以根据自己的喜好使用自己擅长的 Linux 发行版 Jav ...
- 《Android传感器开发与智能设备案例实战》——导读
本节书摘来自异步社区<Android传感器开发与智能设备案例实战>一书中的目录,作者 朱元波,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 ...
- 《图解CSS3:核心技术与案例实战》——1.3节渐进增强
本节书摘来自华章社区<图解CSS3:核心技术与案例实战>一书中的第1章,第1.3节渐进增强,作者 大漠,更多章节内容可以访问云栖社区"华章社区"公众号查看 1.3 渐进 ...
- 《图解CSS3:核心技术与案例实战》
<图解CSS3:核心技术与案例实战> 基本信息 作者: 大漠 丛书名: Web开发技术丛书 出版社:机械工业出版社 ISBN:9787111469209 上架时间:2014-7-2 出版日 ...
- Spark案例实战教程
Spark案例实战 实战代码参考:GitHub - GoAlers/Bigdata_project: 电商大数据项目-推荐系统(java和scala语言) 搭建项目 pom参考 <depende ...
- 1+X 云计算运维与开发(中级)案例实战——搭建harbor私有仓库并实现主从同步
1+X 云计算运维与开发(中级)案例实战--搭建harbor私有仓库并实现主从同步 前言 思路 实操 1.(个人习惯)修改主机名,添加主机映射 2. 配置镜像加速器 3. 生成CA证书,并分发证书 4 ...
最新文章
- UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划
- FindInSet性能优化
- C++轻量级微服务_从微服务架构解析信源新一代“金融e采”产品
- 一个拆分使用的存储过程例子
- 启动一个Java进程
- access集团和abm_abm年度盛典,12月份,中国、澳大利亚、新西兰三地同时举办,abm各渠道运营商从全球各地赶来参会!...
- Retrofit2源码分析(一)
- 缓存失效和命名是计算机科学两大难题,命名也是一种艺术
- python hello world
- 20200203每日一句
- 用msicuu2.exe卸载office可能遇到的问题及解决办法
- java itext 里表格_Java解析PDF里的表格内容
- IOS 面试个人简历(模板)
- 使用GitHub搭建个人博客
- 解决JSONNull导致的JSONObject序列化问题
- 弘辽科技:胡润研究院发布《2020胡润中国10强电商》榜单,第二名很意外
- win10无法识别光驱的解决方法
- 浙江理工大学c语言作业网站,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解...
- C语言自定义函数的声明
- 千锋教育python2104期总结day14
热门文章
- windows中PLSQL/Developer、Oracle InstantClient的安装与配置
- 自定义Dialog宽度占满屏幕
- WINDOWS SERVER 2003 R2 AD域控安装过程实践
- 使用qsort()和bsearch()函数对值和字符串进行排序和查找
- OpenCart多图片拖放式上传管理器
- FOLDER FORM 问题
- 基于applet与ServerSocket的网络聊天室(记得是上学的时候写的,现在都忘了,记录一下)...
- C++ typename 的双重含义
- cout输出格式不常用情况
- Jersey 2.x JDK 上的客户端应用