lombok的基本使用方法
在java刚开始学习的时候,首先就会学习封装、继承和多态,就拿封装来说,封装就是为了保护数据安全而将实体类内部数据保持为私有状态,如果外部程序想要访问里面的数据就必须调用此实体类提供的相关数据接口,这样既保证了数据安全又保证了对数据的访问控制。
比如有一个Book类,里面有一个bookName字段,那么在实体类里面如果要实现封装的话就要这样:
public class Book{
private String bookName;
public void setBookName(String bookName){
this.bookName=bookName;
}
public String getBookName(){
return this.bookName;
}
这里的getBookName和setBookName就是数据访问接口,如果要得到数据必须调用getBookName,要想设置数据必须调用setBookName。在类熟悉比较少(1-3)的情况下自己写或者通过eclipse和Idea的生成方法可以很轻松的实现,但是如果这个类的属性非常多,高达二十几个甚至更多,难道还要这样自己写吗?用IDEA的自动生成工具是可以一次性生成所有的get和set方法,但是如果后来属性名和返回值类型这些有大量改动去一个一个改动是不是会显得很麻烦,这个时候就体现出工具的重要性了,lombok就是这样一个一键生成get和set的代码方法生成工具,使用lombok后book类变成了这样:
@Data
public class Book{
private String bookName;
}
@Data是lombok的使用注解,当使用此注解后lombok会自动为实体类的属性创建get和set方法,而无需自己再去写,这也意味着属性名和值的改变我们都不再需要管了,把更多的精力放在代码开发上来创造更多的个人价值。这里是lombok的部分源码:
/**
* @see Getter
* @see Setter
* @see RequiredArgsConstructor
* @see ToString
* @see EqualsAndHashCode
* @see lombok.Value
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Data { String staticConstructor() default "";
}
@interface声明这是一个注解,Getter用于生成get方法,Setter用于生成set方法,RequiredArgsConstructor用于自动生成构造函数,ToString用于生成toString方法,EqualsAndHashCode表示自动生成equals和hashCode方法,静态构造函数默认生成" ";也就是说一个@Data就可以同时实现以上6种注解,对于我们一般的实体类来说有时候显得太臃肿,因为@Data引入了一些不必要的功能,那么怎么办呢,比如说我们只想实现get和set,这其实很简单,直接使用Getter和Setter就行了:
@Getter
@Setter
public class Book{
private String bookName;
}
这样下来代码一下就轻便了很多,也没有引入多余的功能。
lombok的基本使用方法的更多相关文章
- Lombok介绍及使用方法
lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. lombok的 ...
- Lombok介绍、使用方法和总结
1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by adding 'handlers' that know how ...
- 使用lombok注解@Getter @Setter方法代码编译成功,但是没有生成get,set方法
现象描述: 在对应类对象中,添加lombok的@Getter或@Setter注解,编译没有问题,但是在使用类对象时,没有出现对应的get或set方法. 配置且编译ok,但是没有对应的get或set方法 ...
- 【转】Lombok介绍、使用方法和总结
链接:http://www.yuanrengu.com/index.php/20180324.html 1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a ...
- JAVA中使用Log4j2日志和Lombok引入日志的方法
一.简述 我们项目中既要使用lombok,又要使用log4j2时,使用日志将会更简单. 二.解决 1.引入依赖 <dependency> <groupId>org.apache ...
- 使用lombok 找不到方法
在setting里面查找并设置就好了
- lombok安装方法
一.介绍 lombok网址:https://projectlombok.org/download.html lombok能够在编译源码的时候自动生成getter和setter方法.即它最终能够达到的效 ...
- JAVA奇技淫巧简化代码之lombok
背景 最近在做一个小功能,又不想在原有体态臃肿的项目中追加,为了调试方便并且可以快速开发就采用了springboot.由于使用了JPA,建了几个类,然后通过IDE去生成其属性的构造器.getter.s ...
- 插件lombok的介绍安装
Lombok插件 介绍一个不错的Eclipse插件Lombok 该插件对Log4j简化的代码,因为不大,所以jar包也存在呢! Lombox是Eclipse的一个插件,用来自动生成Java代码,减少手 ...
随机推荐
- Redis 相关运维操作
背景 Redis作为目前全球最流行的KV存储,除了使用之外,还需要做好日常的运维工作.关于运维相关的工作,本文从以下方面进行介绍说明(Redis5.0以上): 内存方面 客户端连接方面 工具方面 说明 ...
- 这就是Java代码生成器的制作流程
1. 前言 前几天写了篇关于Mybatis Plus代码生成器的文章,不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程. 2. 代码生成器的使用场 ...
- 深入理解JVM(③)再谈线程安全
前言 我们在编写程序的时候,一般是有个顺序的,就是先实现再优化,并不是所有的牛P程序都是一次就写出来的,肯定都是不断的优化完善来持续实现的.因此我们在考虑实现高并发程序的时候,要先保证并发的正确性,然 ...
- 没内鬼,来点干货!SQL优化和诊断
SQL优化与诊断 Explain诊断 Explain各参数的含义如下: 列名 说明 id 执行编号,标识select所属的行.如果在语句中没有子查询或关联查询,只有唯一的select,每行都将显示1. ...
- Cyber Security - Palo Alto Firewall Interface Types
Multiple options to integrate the Palo Alto Firewall into your: Network Layer 2 interfaces and VLAN ...
- Burp Suite Scanner Module - 扫描模块
Burp Suite Professional 和Enterprise Version的Scaner功能较丰富. 以Professional版本为例,包含Issue activity, Scan qu ...
- Python Ethical Hacking - Bypass HTTPS(1)
HTTPS: Problem: Data in HTTP is sent as plain text. A MITM can read and edit requests and responses. ...
- Redis中的Scan命令踩坑记
1 原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作.但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限.所以记录下这 ...
- 如何利用Gitlab-ci持续部署到远程机器?
长话短说,今天聊一聊使用Gitlab-CI 自动部署到远程服务器. 如果看过<>这篇文章的朋友,会注意到我是在 Gitlab-Runner服务器上自动部署的站点,本次我们结合ssh部署到远 ...
- 分布式系统中幂等性、at least once 和 at most once 问题
讨论一下分布式系统传输过程中常见的at least once 还是 at most once 问题.一般在一次传输过程中,失败与否是使用最大等待时间(记为time out)来判断是否传输成功,如果超过 ...