引言:lombok是一套代码模板解决方案,将极大提升开发的效率,这里介绍给大家使用。

1. Lombok

lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具.例如,我们在项目中可能不可避免的使用到一些POJO类,这时候我们需要填充应有的字段,并手动建立构造函数,Getter,Setter等方法.而lombok就可以通过@Data注解的方式生成其属性的构造器,Getter,Setter,equals,toString等方法.在编译时这些方法会自动生成,在.class文件中,这些方法和我们手写Getter,Setter等方法是一样的.使用lombok减少了重复的创建那些方法的时间,并且可以使得代码更加简洁.

2. LomBok的安装

1.下载 lombok.jar  https://projectlombok.org/download.html
2.手动安装 
(1)将lombok.jar移到eclipse的安装目录 

(2)在eclipse.in文件最后加入下面两行

-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

-javaagent:xxx.jar 的jar名称 需要与根目录下的jar名一致, 
不一致,可能会出现eclipse无法启动的情况。

3.重启eclipse

4.springboot使用lombok

在SpringBoot项目的pom.xml中新增如下信息:

 <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

注意这里无需指定版本,因为Spring Boot中已经默认引入了这个类库,且指定了其scope。 这个即将lombok引入了项目,可以引用其类库标注。

3.   Lombok的使用

主要是基于标注来进行信息的封装和使用:

以下是一些常用的注解:

@NonNull:  标识对象是否为空,为空则抛出异常

@Getter:   自动生成Getter方法

@Setter:  自动生成Setter

@ToString:  覆盖tostring方法

  @EqualsAndHashCode: 覆盖equal和hashCode方法

  @Data:  @Getter/@Setter, @ToString, @EqualAndHashCode等组合,不包括构造函数

  @NoArgsConstructor无参构造函数

  @AllArgsConstructor会生成一个包含所有变量,同时如果变量使用了NotNull annotation , 会进行是否为空的校验, 全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致

  @Slf4j:  默认使用slf4j的日志对象

@Slf4j使用示例:

@RequestMapping(value = "/test", method = { RequestMethod.GET, RequestMethod.POST })
@ResponseBody
public String getAllAccounts() throws Exception {
log.warn("lombok slf4j日志测试==================");
return "success";
}

测试接口输出日志:

2018-07-20 15:27:29.606  WARN 18256 --- [nio-8088-exec-1] c.o.e.controller.AccountController       : lombok slf4j日志测试==================

Spring Boot下的lombok安装以及使用简介的更多相关文章

  1. Spring Boot下的lombok安装 (日志) 不能识别log变量问题

    参考地址:http://blog.csdn.net/blueheart20/article/details/52909775 ps:除了要加载依赖之外 还要安装lombok插件

  2. 【ActiveMQ】2.spring Boot下使用ActiveMQ

    在spring boot下使用ActiveMQ,需要一下几个条件 1.安装并启动了ActiveMQ,参考:http://www.cnblogs.com/sxdcgaq8080/p/7919489.ht ...

  3. Spring Boot下的一种导入Excel文件的代码框架

    1.前言 ​ Spring Boot下如果只是导入一个简单的Excel文件,是容易的.网上类似的文章不少,有的针对具体的实体类,代码可重用性不高:有的利用反射机制或自定义注解,开发了Excel导入工具 ...

  4. spring boot下使用logback或log4j生成符合Logstash标准的JSON格式

    spring boot下使用logback或log4j生成符合Logstash标准的JSON格式 一.依赖 由于配置中使用了json格式的日志输出,所以需要引入如下依赖 "net.logst ...

  5. Spring Boot下Druid连接池+mybatis

      目前Spring Boot中默认支持的连接池有dbcp,dbcp2, hikari三种连接池.  引言: 在Spring Boot下默认提供了若干种可用的连接池,Druid来自于阿里系的一个开源连 ...

  6. 转-Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合

    Hive/Phoenix + Druid + JdbcTemplate 在 Spring Boot 下的整合 http://blog.csdn.net/balabalayi/article/detai ...

  7. 【spring boot】10.spring boot下的单元测试

    spring boot下的单元测试,思前想后还是需要单独用一章篇幅来看看. 然后在看了介绍和使用时候,我感觉并不想多去看了. 但是还是给后来人留下参考的路径: 官网说明:https://spring. ...

  8. Spring Boot(三) 使用Lombok

        C#写的多了用习惯了众多的语法糖,再写起来Java总会有一些非常不舒服的地方.比如用惯了C#的属性在用起来Java的属性,写起来就会感觉不够优雅.如:定义一个Person类 public cl ...

  9. Spring boot centos7 后台服务安装部署

    Spring boot 应用服务安装部署(maven工程) 1.首先在maven工程的pom文件中引入以下标签并保存 <build> <plugins> <plugin& ...

随机推荐

  1. 10.17正式开发stark项目(二)

    2018-10-17 11:09:48 orm补充参考连接: https://www.cnblogs.com/yuanchenqi/articles/8963244.html model 进阶 参考连 ...

  2. 坑!vue.js在ios9中失效

    坑!vue.js在ios9中失效! 接到实现,在移动端生成一个分享链接,分享到微信,在微信中打开,加入! 好,用vue实现----------------------->写代码--------- ...

  3. Django----djagorestframwork使用

    restful(表者征状态转移,面向资源编程)------------------------------------------->约定 从资源的角度审视整个网络,将分布在网络中某个节点的资源 ...

  4. sql优化的方法

    参考:https://blog.csdn.net/jie_liang/article/details/77340905 11.不要写一些没有意义的查询,如需要生成一个空表结构: select col1 ...

  5. Java元组Tuple介绍与使用

    一.元组介绍 仅仅一次方法调用就可以返回多个对象,你应该经常需要这样的功能吧.可以return语句只允许返回单个对(可能有人说返回一个集合就可以了,请记住,一个集合也只是一个对象而已)因此,解决办法就 ...

  6. 一个列转行SQL示例(wm_concat函数和replace函数合用)

    准备测试数据: create table test01( groupid      number, a            number, b            number, c        ...

  7. jcgrid

    1.jcgrid实现 <span class="JcGrid" id="MyGrid" listdata="Rds.List.UserList& ...

  8. json序列化以及反序列化存在多个对象时候的处理

    存在多个对象的时候,只需要将反序列化存在的对象,遍历出来即可. using System;using System.Collections.Generic;using System.Linq;usin ...

  9. __dict__和dir()的区别:未完

    1.  dir()是一个函数,返回的是list.__dict__是一个字典,键为属性名,值为属性值: 2.  dir()用来寻找一个对象的所有属性,包括__dict__中的属性,所以说__dict__ ...

  10. [daily][archlinux][game] 几个linux下还不错的游戏

    春节在家放松, 装了几个游戏在archlinux上,玩起来还不错. 假期结束开工了, 玩的时间也会比较少,准备删掉, 记录如下: 1. 0ad 即时战略类, 类似于冷兵器时代的红警. 画面还不错, 可 ...