Java @Accessors注解图文详解
目录
- 前言
- 1. @Accessors 源码
- 2. @Accessors 属性说明
- 2.1 fluent 属性
- 2.2 chain 属性
- 2.3 prefix 属性
- 总结
前言
在你的工作中,有时候可能会看到 @Accessors(chain = true) 这样的注解,他是 lombok 插件包中的一个注解,那么它是什么意思呢?
1. @Accessors 源码
我们打开 @Accessors 的源码可以看到:
(1)该注解主要作用是:当属性字段在生成 getter 和 setter 方法时,做一些相关的设置。
(2)当它可作用于类上时,修饰类中所有字段,当作用于具体字段时,只对该字段有效。
该字段共有三个属性,分别是 fluent,chain,prefix,下面我们分别来说明下,他的意思分别是什么?
2. @Accessors 属性说明
2.1 fluent 属性
不写默认为false,当该值为 true 时,对应字段的 getter 方法前面就没有 get,setter 方法就不会有 set。
2.2 chain 属性
不写默认为false,当该值为 true 时,对应字段的 setter 方法调用后,会返回当前对象。
2.3 prefix 属性
该属性是一个字符串数组,当该数组有值时,表示忽略字段中对应的前缀,生成对应的 getter 和 setter 方法。
比如现在有 xxName 字段和 yyAge 字段,xx 和 yy 分别是 name 字段和 age 字段的前缀。
那么,我们在生成的 getter 和 setter 方法如下,它也是带有 xx 和 yy 前缀的。
如果,我们把它的前缀加到 @Accessors 的属性值中,则可以像没有前缀那样,去调用字段的 getter和 setter 方法。
总结
到此这篇关于Java @Accessors注解图文详解的文章就介绍到这了,更多相关@Accessors注解详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
java Lombok之@Accessors用法及说明
目录 java Lombok之@Accessors用法 fluent属性 chain属性 prefix属性 Lombok @Data @Accessors注解遇到的坑 总结 java Lombok之@Accessors用法 之前用Lombok,只是为了省去写get和set方法,在学习的时候,突然发现,Accessors这个特殊的属性注解竟然还有如此强大的功能,特此为自己的无知记录一下. fluent属性 fluent:流畅的,流利的意思,设置为true,则getter和setter方法的方法名都
-
@Accessors(chain = true)注解报错的解决方案
如下所示: Cannot invoke setItemTitle(String) on the primitive type void 定义的实体类如下: @Data public static class RefundOrderItem implements Serializable { /** * 商品标题 */ @JsonProperty("item_title") private String itemTitle; /** * 数量 */ private BigDecimal
-
Lombok如何快速构建JavaBean与日志输出
目录 快速构建JavaBean与日志输出 以前的JavaBean是这样的 现在的JavaBean是这样的 使用Lombok前的准备操作 @Slf4j IDEA使用lombok输出日志 安装lombok插件 pom.xml加入依赖 使用@Slf4j注解 快速构建JavaBean与日志输出 我们在写基类JavaBean时,当定义了成员变量后,我们不得不添加构造器,setter/getter方法以及toString方法,虽然eclipse等开发工具有一键生成策略,但是对我们来说仍觉得繁琐,并且当我们在
-
Java @Accessors注解图文详解
目录 前言 1. @Accessors 源码 2. @Accessors 属性说明 2.1 fluent 属性 2.2 chain 属性 2.3 prefix 属性 总结 前言 在你的工作中,有时候可能会看到 @Accessors(chain = true) 这样的注解,他是 lombok 插件包中的一个注解,那么它是什么意思呢? 1. @Accessors 源码 我们打开 @Accessors 的源码可以看到: (1)该注解主要作用是:当属性字段在生成 getter 和 setter 方法时
-
Java自定义注解的详解
Java自定义注解 Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许多java框架中大量使用注解,如hibernate.Jersey.spring.注解作为程序的元数据嵌入到程序当中.注解可以被一些解析工具或者是编译工具进行解析.我们也可以声明注解在编译过程或执行时产生作用. 在使用注解之前,程序源数据只是通过java注释和javadoc,但是注
-
linux安装mysql数据库以及配置Java项目的图文详解
一.安装mysql数据库 ①下载并解压上传到/opt/soft目录(soft目录是自己创建的) ②解压:tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar ③清空linux自带的数据库 1.查看是否有旧版本的数据库: rpm -qa |grep mysql rpm -qa | grep mariadb 2. 卸载已有的数据库:(卸载会把这个包的依赖包也一起卸载) yum -y remove mariadb-libs.x86_64 ④安装mysql社
-
java排序算法图文详解
目录 一.直接插入排序 二. 希尔排序 三.冒泡排序 四.快速排序 五.选择排序(Selection Sort) 六.堆排序 一.堆排序的基本思想是: 二.代码示例 七.归并排序 总结 一.直接插入排序 基本思想: 将一个记录插入到已排序的有序表中,使插入后的表仍然有序 对初始关键字{49 38 65 97 76 13 27 49}进行直接插入排序 package Sort; //插入排序 public class InsertSort { public static void main(Str
-
java实现快速排序图文详解
目录 高快省的排序算法 排序算法显神威 总结 高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 9 3 4 5 10 8"这个10个数进行排序.首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了).为了方便,就让第一个数6作为基准数吧.接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放
-
Java Spring IOC图文详解
目录 IOC简介 耦合与内聚 工厂模式发展史 IoC 入门案例 总结 IOC简介 IoC:控制反转,即Spring反向控制应用程序所需要的资源(本来在传统模式中,主控权是在类里面的,所以才叫控制反转) 传统模式中,主控权在类的手中 IOC模式,主控权在Spring中(即控制所有类的创建.销毁(即控制对象的生命周期和对象间的关系)),所以类都会在spring容器中登记,并且告诉spring这个类是什么东西,当程序(你)在系统运行到适当模式的时候,将要的东西给(你),同时也要把你交给前台需要你的东西
-
使用Spring Boot搭建Java web项目及开发过程图文详解
一.Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者.SpringMVC是非常伟大的框架,开源,发展迅速.优秀的设计必然会划分.解耦.所以,spring有很多子项目,比如core.context.
-
图文详解Java的反射机制
目录 1.什么是反射 2.Hello,java反射 3.java程序运行的三个阶段 4.反射相关类 5.反射的优化 6.Class类分析 7.获取Class对象的六种方式 8.类加载机制 动态加载和静态加载 类加载流程概述 加载阶段 连接阶段 初始化 9.通过反射获取类的结构信息 1.什么是反射 反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息. 加载类后,在堆中就产生了一个class类型的对象,这个对象包含了类的完整结构的信息,通过这个对象得到类的结构.这
-
在idea中将创建的java web项目部署到Tomcat中的过程图文详解
在idea中将创建的java web项目部署到Tomcat中 采用的工具idea 2018.3.6 Tomcat7 1.先创建第一个新项目secondweb(注意勾选JavaEE下的web Application(4.0),窗口下的version对应为4.0,并且保证create web.xml已经被勾选) 2.在创建好的web项目的web/WEB-INF目录下创建两个文件夹:classes和lib.classes用来存放编译后输出的class文件,lib用来存放第三方jar包(下图显示的是创建
-
java中@SuppressWarnings注解用法详解
SuppressWarnings注解是jse提供的注解.作用是屏蔽一些无关紧要的警告.使开发者能看到一些他们真正关心的警告.从而提高开发者的效率 简介: java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上.作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息. 使用: @SuppressWarnings("") @SuppressWarnings({}) @Suppre
随机推荐
- python实现2048小游戏
- Go语言的方法接受者类型用值类型还是指针类型?
- springboot与mybatis整合实例详解(完美融合)
- Ruby环境下安装使用bundler来管理多版本的gem
- Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
- .Net Core实现图片文件上传下载功能
- web打印 window.print()介绍
- PHP网站提速三大“软”招
- php 处理上百万条的数据库如何提高处理查询速度
- Python多线程和队列操作实例
- C语言实现字符串操作函数的实例
- PHP采用XML-RPC构造Web Service实例教程
- js实现跨域的4种实用方法原理分析
- 简单总结JavaScript中的String字符串类型
- C#在子线程中更新窗口部件的写法
- Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子
- php实现购物车功能(下)
- Windows下安装ElasticSearch的方法(图文)
- JavaScript实现单例模式实例分享
- Java源码解析ArrayList及ConcurrentModificationException