代码: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注解相关推荐

  1. 冰河最新出版的《深入理解高并发编程:核心原理与案例实战》到底讲了些啥?(视频为证)

    大家好,我是冰河~~ 最近有很多小伙伴问我:<深入理解高并发编程:核心原理与案例实战>这本书有没有目录.我:安排!这不,我连夜录制了这本书的整体内容,希望能够为小伙伴们带来实质性的帮助,直 ...

  2. 【案例实战】SpringBoot整合Redis的GEO实现查找附近门店功能

    像我们平常美团点外卖的时候,都会看到一个商家距离我们多少米.还有类似QQ附近的人,我们能看到附近的人距离我们有多少米. 那么这些业务是怎么做的呢?是如何实现 基于位置的附近服务系统呢. 在去了解基于位 ...

  3. 图解css3:核心技术与案例实战. 3.3 CSS3图片边框属性

    3.3 CSS3图片边框属性 border-image效果在CSS2中,只有使用背景图片来制作,而且制作过程非常复杂,做完后也很难维护.如今CSS3中增添了一个图片边框的属性,能够模拟出backgro ...

  4. Spark 随机森林算法原理、源码分析及案例实战

    图 1. Spark 与其它大数据处理工具的活跃程度比较 回页首 环境要求 操作系统:Linux,本文采用的 Ubuntu 10.04,大家可以根据自己的喜好使用自己擅长的 Linux 发行版 Jav ...

  5. 《Android传感器开发与智能设备案例实战》——导读

    本节书摘来自异步社区<Android传感器开发与智能设备案例实战>一书中的目录,作者 朱元波,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 ...

  6. 《图解CSS3:核心技术与案例实战》——1.3节渐进增强

    本节书摘来自华章社区<图解CSS3:核心技术与案例实战>一书中的第1章,第1.3节渐进增强,作者 大漠,更多章节内容可以访问云栖社区"华章社区"公众号查看 1.3 渐进 ...

  7. 《图解CSS3:核心技术与案例实战》

    <图解CSS3:核心技术与案例实战> 基本信息 作者: 大漠 丛书名: Web开发技术丛书 出版社:机械工业出版社 ISBN:9787111469209 上架时间:2014-7-2 出版日 ...

  8. Spark案例实战教程

    Spark案例实战 实战代码参考:GitHub - GoAlers/Bigdata_project: 电商大数据项目-推荐系统(java和scala语言) 搭建项目 pom参考 <depende ...

  9. 1+X 云计算运维与开发(中级)案例实战——搭建harbor私有仓库并实现主从同步

    1+X 云计算运维与开发(中级)案例实战--搭建harbor私有仓库并实现主从同步 前言 思路 实操 1.(个人习惯)修改主机名,添加主机映射 2. 配置镜像加速器 3. 生成CA证书,并分发证书 4 ...

最新文章

  1. UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划
  2. FindInSet性能优化
  3. C++轻量级微服务_从微服务架构解析信源新一代“金融e采”产品
  4. 一个拆分使用的存储过程例子
  5. 启动一个Java进程
  6. access集团和abm_abm年度盛典,12月份,中国、澳大利亚、新西兰三地同时举办,abm各渠道运营商从全球各地赶来参会!...
  7. Retrofit2源码分析(一)
  8. 缓存失效和命名是计算机科学两大难题,命名也是一种艺术
  9. python hello world
  10. 20200203每日一句
  11. 用msicuu2.exe卸载office可能遇到的问题及解决办法
  12. java itext 里表格_Java解析PDF里的表格内容
  13. IOS 面试个人简历(模板)
  14. 使用GitHub搭建个人博客
  15. 解决JSONNull导致的JSONObject序列化问题
  16. 弘辽科技:胡润研究院发布《2020胡润中国10强电商》榜单,第二名很意外
  17. win10无法识别光驱的解决方法
  18. 浙江理工大学c语言作业网站,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解...
  19. C语言自定义函数的声明
  20. 千锋教育python2104期总结day14

热门文章

  1. windows中PLSQL/Developer、Oracle InstantClient的安装与配置
  2. 自定义Dialog宽度占满屏幕
  3. WINDOWS SERVER 2003 R2 AD域控安装过程实践
  4. 使用qsort()和bsearch()函数对值和字符串进行排序和查找
  5. OpenCart多图片拖放式上传管理器
  6. FOLDER FORM 问题
  7. 基于applet与ServerSocket的网络聊天室(记得是上学的时候写的,现在都忘了,记录一下)...
  8. C++ typename 的双重含义
  9. cout输出格式不常用情况
  10. Jersey 2.x JDK 上的客户端应用