lombok @Getter @Setter 使用注意事项
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>
下载链接:https://www.projectlombok.org/download
将下载的lombok.jar放在与eclipse.ini同级目录下
选择编译器地址打钩,如果没有识别到电脑上的IDE可以点击下方的Specify location添加ide可执行文件路径
检查eclipse.ini文件中-javaagent:D:\xxx\lombok.jar地址是否有误(如果路径含中文会启动失败)
重启项目,就发现能够正常使用啦。
文章转载至:https://blog.csdn.net/kiana168/article/details/79823549
lombok @Getter @Setter 使用注意事项的更多相关文章
- lombok(@Getter&@Setter)
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法. 官方地址:https://project ...
- Lombok(1.14.8) - @Getter, @Setter, @ToString, @EqualsAndHashCode & @Data
@Getter / @Setter @Getter 和 @Setter,分别实现了 Gette r和 Setter 方法. package com.huey.hello.bean; import ja ...
- idea中使用插件lombok简化java bean的getter/setter/log等常用功能
一.安装. 1. 2. 3. 4. . 二.使用 1. 2. 3. 结果分析,如果没有添加@Setter注解,则LombokTest中的student示例无法使用setAge()等方法.使用lombo ...
- idea中Lombok的Buider构造器模式,getter/setter正确使用方法
public class ApiUser implements Serializable { private Long id; /*** * 用户类型:single,org(organization) ...
- 找不到getter/setter——没有安装lombok插件
项目pull后的问题: import lombok.Getter; import lombok.Setter; @Setter @Getter public class ConcreteEntity ...
- IDEA中使用Lombok时候,getter,setter注解不生效/每次重启后才生效
Relevance.java代码如下: import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; imp ...
- 懒加载(getter\setter理解)
为什么要用懒加载 1.首先看一下程序启动过程:(如图) 会有一个mian的设置,程序一启动会加载main.storyboard main.storyboard又会加载箭头所指的控制器 控制器一旦加载, ...
- iOS getter setter
getter setter 给成员变量起名字用的 setter方法 设置成员变量值 1. setter 方法一定是对象方法 不可能是类方法 2.一定没有返回值 3. 以set开头,并且set后面跟上需 ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
随机推荐
- hdu-1052(贪心)
链接 [https://vjudge.net/contest/261555#problem/I] 题意 就是两个人都有n匹马,每只马都有战力 第二个人出马的顺序是战力大到小,请问第一个人采取怎样的策略 ...
- OracleSql语句学习(四)
SELECT e.ename,m.ename,d.locFROM emp_weiyiji e JOIN emp_weiyiji m ON e.mgr=m.empnoJOIN dept_weiyiji ...
- Python——Set集合
一.定义 Set集合用于表示相互之间无需的一种组合对象,包括:并集.交集.补集 二.集合的两种模式 sample = set() 初始化普通集合 sample = frozenset() 初始化不可 ...
- 使用mysql将手机号、身份证号等字段进行脱敏
-- 脱敏姓名 UPDATE wb_person_message SET `name`=(if(LENGTH(name)>6,CONCAT(LEFT(name,1), '**' ),CONCAT ...
- 【51NOD1965】奇怪的式子 min_25筛
题目描述 给你\(n\),求 \[ \prod_{i=1}^n{\sigma_0(i)}^{i+\mu(i)} \] 对\({10}^{12}+39\)取模. \(\sigma_0(i)\)表示约数个 ...
- opencv 图片位移
import cv2 as cv import numpy as np # 图片移位 img = cv.imread('../images/moon.jpg', flags=1) # flags=1读 ...
- 关于data()获取不到得原因
..原因很简单,版本高低问题 从jQuery 1.4.3起, HTML 5 data- 属性 将自动被引用到jQuery的数据对象中. 所以,还是尽量保持用attr来获取自定义属性
- ovs之组网实验
介绍 本示例将创建两个OVS实例和两个主机,其中每个OVS上接入一个主机,OVS实例之间有链路连接,形成一个链状拓扑,如图.在OVS组网完成之后,再通过手动方式添加流表,实现网络通信,从而验证实验可行 ...
- A.02.00—功能定义与唤醒—起始
第一章节主要讲的是模块普通的输入输出,精力及能力有限,仅介绍了一些较为普通的信号,另一些信号留待想了解的人自我探索. 第二章节打算介绍的是功能定义和休眠唤醒相关的内容.也是一些基础内容,对于比较少见或 ...
- Angular6封装http请求
最近抽空学习了一下Angular6,之前主要使用的是vue,所以免不了的也想对Angular6提供的工具进行一些封装,今天主要就跟大家讲一下这个http模块. 之前使用的ajax库是axios,可以设 ...