详解lombok @Getter @Setter 使用注意事项

前言:半夜睡不着觉,把星星哼成歌,只好到csdn寻找另一个梦境。。。。。

lombok是一个帮助简化代码的工具,通过注解的形式例如@Setter @Getter,可以替代代码中的getter和setter方法,虽然eclipse自带的setter、getter代码生成也不需要我们手动的去敲写,但是使用@Setter @Getter这样的注解,能够使我们的代码看上去更加的简洁、优雅。

lombok下有许多常用注解,这里不过多赘述,主要讲@Getter和@Setter的一个注意点。

package com.lemon.zuul.config;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class TestDemo {
private String userName;
private int userAge;
private boolean userSex ;
private boolean isLeader;
}

图中布尔类型为基本数据类型

setter方法

上图第一行为成员变量isLeader的setter方法,其中isLeader中的is不见了,下方第四行为成员变量userSex的setter方法,一切正常

getter方法

长这样,get方法的生成规范是对于布尔基本数据类型是is+变量名,如果变量名包含了一个is那么也是只有一个is不会是isIsxxx。

eclipse自动生成规则同上

修改布尔变量为对应包装类

package com.lemon.zuul.config;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class TestDemo {
private String userName;
private int userAge;
private Boolean userSex ;
private Boolean isLeader;
}

setter方法

符合我们想要的

getter方法

总结:布尔类型为对应包装类时,setter、getter生成符合我们预期结果,而为基本数据类型时,get类的方法是以is开头。

安装lombok

在写之前,我遇到一个问题,在照着网上一些博文的做法,我直接将依赖加入pom文件,使我的@Setter、@Getter注解生效了,但是在我查看对象对应方法时我却找不到他的get、set方法,网上有说是编译的原因,要开启Porject  > Build AutoMatically 我是开启的。我很崩溃,是不是我这个人有毒才用不了,最后发现,lombok需要安装的,需要在eclipse.ini配置的,单独的引入依赖不得行啊。

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>

点击打开链接官网下载地址

将下载的lombok.jar放在与eclipse.ini同级目录下

选择编译器地址打钩,如果没有识别到电脑上的IDE可以点击下方的Specify location添加ide可执行文件路径

检查eclipse.ini文件中-javaagent:D:\xxx\lombok.jar地址是否有误(如果路径含中文会启动失败)

重启项目,就发现能够正常使用啦。

到此这篇关于详解lombok @Getter @Setter 使用注意事项的文章就介绍到这了,更多相关lombok @Getter @Setter 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Intellij IDEA 2017.3使用Lombok及常用注解介绍

    前言 不知道大家在创建一个实体类的时候,有没有发现每次定义好属性之后,都需要手动右键Generate构建getter.setter和toString()之类的方法,假设很多实体类的话,工程量就增加了,为提高开发效率且代码优雅,特给大家推荐一下Lombok神器. 简介 Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而为您的Java增光添彩.永远不需要再写另一个getter或equals方法,带有一个注释之后您的类有一个功能全面的生成器,自动化您的日志记录变量等等. 使用

  • 详解Lombok快速上手(安装、使用与注解参数)

    Lombok插件安装与使用说明 在实习中发现项目中IDE一直报检查错误,原来是使用了Lombok注解的黑科技,这里整理了一些日常编码中能遇到的所有关于它的使用详解,其实lombok项目的产生就是为了省去我们手动创建getter和setter方法等等一些基本组件代码的麻烦,它能够在我们编译源码的时候自动帮我们生成getter和setter方法.即它最终能够达到的效果是:在源码中没有getter和setter等组件方法,但是在编译生成的字节码文件中有getter和setter等组件方法. 常见参数

  • lombok注解介绍小结

    lombok注解介绍 lombok注解文档 lombok官网下载 lombok是一个可以帮助我们简化java代码编写的工具类,尤其是简化javabean的编写,即通过采用注解的方式,消除代码中的构造方法,getter/setter等代码,使我们写的类更加简洁,当然,这带来的副作用就是不易阅读-不过,还是能看得懂吧,废话不多说,先看一下lombok支持的一些常见的注解. @NonNull @Cleanup @Getter/@Setter @ToString @EqualsAndHashCode @

  • java10下编译lombok注解代码分享

    序 本文主要研究下在带有lombok(1.16.20版本)注解的代码在java10下的编译问题. 问题 Fatal error compiling at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apa

  • 解决在Idea 2020.2下使用 Lombok的注解不生效的问题(插件安装了,依赖也写了,自动注解也设置了)

    如题必要条件都有但还是不能生效 虽然不是灰色,但是还是可以看到上面的导包是灰色的,并且没有任何报错. 而且可以看到上面正常正确的类是有图标的,但是Test这个类没有.在其他类里面也是不能引用get/set方法的,在一顿百度和折腾之后还是没有找到正确的解决方法,无奈之下重启后发现问题解决. 正常情况下不应该出现这种问题,连图标都没有,可能是Idea 2020.2版本的BUG.,反正我是除了重启没有找到解决办法. 下载这个版本的lombok就OK了,我没有经过任何修改,可以放心下载,如果不放心的可以

  • 详解lombok @Getter @Setter 使用注意事项

    前言:半夜睡不着觉,把星星哼成歌,只好到csdn寻找另一个梦境..... lombok是一个帮助简化代码的工具,通过注解的形式例如@Setter @Getter,可以替代代码中的getter和setter方法,虽然eclipse自带的setter.getter代码生成也不需要我们手动的去敲写,但是使用@Setter @Getter这样的注解,能够使我们的代码看上去更加的简洁.优雅. lombok下有许多常用注解,这里不过多赘述,主要讲@Getter和@Setter的一个注意点. package

  • 详解Lombok的坑

    序言 去年在项目当中引入了Lombok插件,着实解放了双手,代替了一些重复的简单工作(Getter,Setter,toString等方法的编写),但是,在使用的过程当中,也发现了一些坑,开始的时候并没有察觉到是Lombok的问题,后来跟踪了对应的其他组件的源码,才发现是Lombok的问题! Setter-Getter方法的坑 问题发现 我们在项目当中主要使用Lombok的Setter-Getter方法的注解,也就是组合注解@Data,但是在一次使用Mybatis插入数据的过程当中,出现了一个问题

  • 详解git submodule使用以及注意事项

    一.背景 在平时的软件开发过程中常常会有这样的场景,自己负责的某个模块会依赖其他模块或者第三方的library.这时你自己的模块是一个独立的代码仓库,你想要实现这样一种功能,当你从你的模块的代码仓库里把代码拉到本地来的时候,能自动的将你依赖的模块或第三方库都拉到指定的目录当中去. 当然要实现这个功能的方法有很多,比如使用repo之类的工具,又比如如果你使用的是svn作为版本管理工具,那么你可以使用svn的external机制来引用第三方的project. 这里要说的是使用git作为版本管理工具的

  • 详解Lombok安装及Spring Boot集成Lombok

    Lombok有什么用 在我们实体Bean中有大量的Getter/Setter方法以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写:在使用Lombok之后,将由其来自动帮你实现代码生成.注意,其是在编译源码过程中,帮你自动生成的.就是说,将极大减少你的代码总量. Lombok的官方地址: https://projectlombok.org/ 使用Lombok时需要注意的点 在类需要序列化.反序列化时或者需要详细控制字段时,应该谨慎考虑是否要使用Lombok,因为在这

  • 详解PHP匿名函数与注意事项

    php5.3不但引进了匿名函数还有更多更好多新的特性了,下面我们一起来了解一下PHP匿名函数与注意事项,具体内容如下 PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改 PHP5.5:yie

  • PHP回调函数及匿名函数概念与用法详解

    本文实例讲述了PHP回调函数及匿名函数概念与用法.分享给大家供大家参考,具体如下: 1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在php调用回调函数,不想c以及java那样直接使用函数名作为函数参数,而是在php中使用函数对应的字符串名称执行 1.1.无参数回调 <?php //无参数回调 function callback(){ echo 'ex

  • Vue 理解之白话 getter/setter详解

    当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用Object.defineProperty把这些属性全部转为 getter/setter.Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器 以上摘自深入响应式原理 那么,把这些属性全部转为 getter/setter 具体是怎样一个过程呢?本文不深入具体,简单大致了解其过程,旨在整体

  • JavaScript学习笔记之取值函数getter与取值函数setter详解

    目录 取值函数getter和存值函数setter 使用get与set函数有两个好处 取值函数getter和存值函数setter get和set是两个关键字,用于对某个属性设置存值函数和取值函数,拦截该属性的存取行为. 那么,这两个东西要怎么用呢?而且他们和我们的平日里写的业务又是怎么练习起来的呢? 首先,我们先看一段恩简单的代码: var person={ myname:'' } person.myname='lsh' console.log(person.myname); 相信大家一眼就看出来

  • Python中的getter和setter的方法使用详解

    本文主要内容: 解释setter和getter的使用方法解释@property装饰器的妙用 在python中,setter和getter方法并不像其它编程语言中的那样.基本上,在面向对象编程语言中,使用setter和getter方法的主要目的是为了确保数据的封装.不像其它面向对象编程语言,python中的私有变量并不是真正的隐藏字段.在python中,通常在以下情况会用到setter和getter方法: 在获取或者设置属性值的时候使用setter和getter方法为其添加验证逻辑避免对类的某些字

随机推荐