Why lombok?

lombok可以帮我们从实体类的getter、setter、constructor和toString等样板代码中解脱出来,使用lombok可以开发出更优雅的代码

1.maven依赖

<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.14</version>
<scope>provided</scope>
</dependency>

  

2.常用注解

@Getter 生成get方法, @Setter 生成set方法, @AllArgsConstructor 生成所有属性的构造方法, @ToString 生成tostring方法, @Data 集合了前面几个注解的功能等

3.实例

为实体添加@AllArgsConstructor和@ToString注解

package com.zhya.entity;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString; import java.io.Serializable;
import java.util.Date; /**
* 系统用户entity
*
* @Author zhangyang
* @Date 下午 8:27 2018/11/20 0020
**/
@Getter
@Setter
@ToString
@AllArgsConstructor
public class SysUser implements Serializable {
private static final long serialVersionUID = 2750888895274747017L; private String id;
private String username;
private Date addDate;
private Date updateDate;
}

测试使用实体的构造方法和toString方法

package com.zhya.controller;

import com.zhya.entity.SysUser;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.Date; /**
* 系统用户controller
*
* @Author zhangyang
* @Date 下午 8:31 2018/11/20 0020
**/
@RestController
@RequestMapping("sysuser")
public class SysUserController { /**
* 获取单个系统用户
*
* @Author zhangyang
* @Date 下午 8:31 2018/11/20 0020
**/
@GetMapping("/{id}")
public SysUser test(@PathVariable String id) {
// FIXME for testing
SysUser sysUser = new SysUser(id, "zhya", new Date(), new Date());
System.out.println(sysUser);
return sysUser;
} }

 

spring-boot集成2:集成lombok的更多相关文章

  1. Spring Boot系列——如何集成Log4j2

    上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack ...

  2. 【ELK】4.spring boot 2.X集成ES spring-data-ES 进行CRUD操作 完整版+kibana管理ES的index操作

    spring boot 2.X集成ES 进行CRUD操作  完整版 内容包括: ============================================================ ...

  3. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

  4. Spring Boot HikariCP 一 ——集成多数据源

    其实这里介绍的东西主要是参考的另外一篇文章,数据库读写分离的. 参考文章就把链接贴出来,里面有那位的代码,简单明了https://gitee.com/comven/dynamic-datasource ...

  5. 15、Spring Boot 2.x 集成 Swagger UI

    1.15.Spring Boot 2.x 集成 Swagger UI 完整源码: Spring-Boot-Demos 1.15.1 pom文件添加swagger包 <swagger2.versi ...

  6. 14、Spring Boot 2.x 集成 Druid 数据源

    14.Spring Boot 2.x 集成 Druid 数据源 完整源码: Spring-Boot-Demos

  7. 12、Spring Boot 2.x 集成 MongoDB

    1.12 Spring Boot 2.x 集成 MongoDB 完整源码: Spring-Boot-Demos

  8. 11、Spring Boot 2.x 集成 HBase

    1.11 Spring Boot 2.x 集成 HBase 完整源码: Spring-Boot-Demos

  9. 10、Spring Boot 2.x 集成 Log4j2

    1.10 Spring Boot 2.x 集成 Log4j2 完整源码: Spring-Boot-Demos

  10. 9、Spring Boot 2.x 集成 Thymeleaf

    1.9 Spring Boot 2.x 集成 Thymeleaf 完整源码: Spring-Boot-Demos 1.9.1 在pom中引入依赖 <dependency> <grou ...

随机推荐

  1. anaconda应答文件

    一.anaconda和isolinux anaconda是linux安装程序的安装想到,在我们的系统安装光盘内有一个isolinux的目录,这个目录是用来启动光盘镜像的,下面我们说一下这个目录下的文件 ...

  2. vue项目和django项目交互补充,drf介绍,restful规范

    目录 一.vue项目与django项目的交互 二.drf(Django-restframework) 1. drf主要知识点 2. drf框架安装 3. web接口(WEB API) 4. restf ...

  3. pipeline和baseline是什么?

    昨天和刚来项目的机器学习小白解释了一边什么baseline 和pipeline,今天在这里总结一下什么是baseline和pipeline. 1.pipeline 1.1 从管道符到pipeline ...

  4. BZOJ 2119: 股市的预测 (Hash / 后缀数组 + st表)

    转博客大法好 自己画一画看一看,就会体会到这个设置关键点的强大之处了. CODE(sa) O(nlogn)→1436msO(nlogn)\to 1436msO(nlogn)→1436ms #inclu ...

  5. Acwing-285-没有上司的舞会(树型DP)

    链接: https://www.acwing.com/problem/content/287/ 题意: Ural大学有N名职员,编号为1~N. 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接 ...

  6. 浏览器表单自动填充默认样式 - autofill问题解决

    这不知道是个什么神仙网站,解决办法写的这么清楚,页面有这么让人舒服 https://lhajh.github.io/css/chrome/2018/04/17/The-chrome-browser-f ...

  7. Python 简易Cmd控制

    Cmd控制 昨天看到了别的组的部署方案,使用python来控制的,我们是用shell 今天尝试了一下 code import os import sys from cmd import Cmd cla ...

  8. sh_20_for语法演练

    sh_20_for语法演练 for num in [1, 2, 3]: print(num) if num == 2: break else: # 如果循环体内部使用break退出了循环 # else ...

  9. ThinkPHP3.2版本对于Model的使用

    THinkphp3.2的改动很大,特别是应用了命名空间的概念,这个命名空间很类似于.NET和Java的命名空间,通过引用就可以调用,由于前期一直是搞.NET,对命名空间自认为是比较了解的,在没有完全理 ...

  10. Java file.encoding

    1. file.encoding属性的作用 file.encoding 的值是整个程序使用的编码格式. 可以使用  System.out.println(System.getProperty(&quo ...