iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java Lombok之@Accessors怎么使用
  • 828
分享到

java Lombok之@Accessors怎么使用

2023-07-05 12:07:51 828人浏览 八月长安
摘要

这篇文章主要介绍“java Lombok之@Accessors怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java Lombok之@Accessors怎么使用”文章能帮

这篇文章主要介绍“java Lombok之@Accessors怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java Lombok之@Accessors怎么使用”文章能帮助大家解决问题。

    java Lombok之@Accessors用法

    之前用Lombok,只是为了省去写get和set方法,在学习的时候,突然发现,Accessors这个特殊的属性注解竟然还有如此强大的功能,特此为自己的无知记录一下。

    fluent属性

    fluent:流畅的,流利的意思,设置为true,则getter和setter方法的方法名都是基础属性名,且setter方法返回当前对象。

    @Data@Accessors(fluent = true)public class User {    private int id;    private String name;}

    java Lombok之@Accessors怎么使用

    可以看到,当我们使用get或者set方法的时候,方法名都是基础的属性名称,非常的简洁

    chain属性

    chain:链式的,设置为true,则setter方法返回当前对象。

    @Data@Accessors(chain = true)public class User {    private int id;    private String name;}

    java Lombok之@Accessors怎么使用

    如上图可以看出,和常规的get和set方法名称一致,不过区别就是set方法返回的是对象名称,更加的直观,适合对象赋值时的连续赋值参数。

    prefix属性

    prefix:前缀,用于生成getter和setter方法的字段名会忽视指定前缀(遵守驼峰命名)。

    @Data@Accessors(prefix = {"tb","tbn"})public class User {    private int tb_id;    private String tbn_name;}

    java Lombok之@Accessors怎么使用

    可以看出,方法中的get和set方法均过滤了相关的前缀属性,看起来更加的简洁。

    Lombok @Data @Accessors注解遇到的坑

    碰到个反射的问题,原数据是一个 map,对应数据库表的键值对,此时需要将这个 map 转换成 Entity,所以会用到反射。

    用了 Apache BeanUtils,用了 BeanMap 都是不行,无法反射。

    如下代码

    import com.alibaba.fastJSON.jsON;import lombok.Data;import lombok.experimental.Accessors;import org.springframework.cglib.beans.BeanMap; import java.util.HashMap;import java.util.Map; public class Test {     public static void main(String[] args) {        Map<String, Object> map = new HashMap<>();        map.put("id", "111");        map.put("name", "xxxx");         Model model = new Model();        BeanMap.create(model).putAll(map);        System.out.println(JSON.toJSONString(model));    }     @Data    @Accessors(chain = true)    public static class Model {        private String id;        private String name;    }}

    此时你会发现其实没问题,但是输出结果如下:

    {}

    此时办法已经试遍了,后来修改 Entity,将 lombok 注解去掉,发现就OK了。此时不用想,肯定是遇到坑了,然后排查之后发现是 @Accessors 的问题,将其去掉就OK了。

    如下:

    import com.alibaba.fastjson.JSON;import lombok.Data;import lombok.experimental.Accessors;import org.springframework.cglib.beans.BeanMap; import java.util.HashMap;import java.util.Map; public class Test {     public static void main(String[] args) {        Map<String, Object> map = new HashMap<>();        map.put("id", "111");        map.put("name", "xxxx");         Model model = new Model();        BeanMap.create(model).putAll(map);        System.out.println(JSON.toJSONString(model));    }     @Data    public static class Model {        private String id;        private String name;    }}

    关于“java Lombok之@Accessors怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: java Lombok之@Accessors怎么使用

    本文链接: https://www.lsjlt.com/news/351527.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • java Lombok之@Accessors怎么使用
      这篇文章主要介绍“java Lombok之@Accessors怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java Lombok之@Accessors怎么使用”文章能帮...
      99+
      2023-07-05
    • Java的Lombok如何使用
      本篇内容主要讲解“Java的Lombok如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的Lombok如何使用”吧!1)引入相应的maven包:<dependency>...
      99+
      2023-06-16
    • Java中Lombok的使用详解
      这篇文章主要介绍“Java中Lombok的使用详解”,在日常操作中,相信很多人在Java中Lombok的使用详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Lombok的使用详解”的疑惑有所帮助!...
      99+
      2023-06-16
    • java中Lombok的注解怎么用
      这篇文章主要讲解了“java中Lombok的注解怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java中Lombok的注解怎么用”吧!注解举例@ToString:实现toString(...
      99+
      2023-06-30
    • Java枚举类使用Lombok方式
      目录Java枚举类使用Lombok普通写法Lombok写法更精简的写法Java自定义枚举类枚举类的创建枚举类的使用Java枚举类使用Lombok 枚举类是一个特殊的常量类,由于其特殊...
      99+
      2024-04-02
    • 如何在Java项目中使用Lombok
      本文章向大家介绍如何在Java项目中使用Lombok的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许...
      99+
      2023-06-06
    • Java的Lombok如何安装与使用
      这篇文章主要介绍了Java的Lombok如何安装与使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装Lombok的安装分两部分:Idea插件的安装和maven中pom文件...
      99+
      2023-06-29
    • java中Lombok的作用是什么
      java中Lombok的作用是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。...
      99+
      2023-06-14
    • Java库lombok及注解如何使用
      本篇内容介绍了“Java库lombok及注解如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Lombok是什么Lombok是一个旨在减...
      99+
      2023-07-02
    • springboot的Lombok、devtools、Spring Initailizr怎么使用
      今天小编给大家分享一下springboot的Lombok、devtools、Spring Initailizr怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅...
      99+
      2023-07-04
    • idea中lombok怎么用
      这篇文章主要为大家展示了“idea中lombok怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“idea中lombok怎么用”这篇文章吧。IntelliJ IDEA是一款非常优秀的集成开发工...
      99+
      2023-06-22
    • springboot使用小工具之Lombok、devtools、SpringInitailizr详解
      目录LombokdevtoolsSpring Initailizr(项目初始化向导)Lombok 可以代替手写get、set、构造方法等,需要idea装插件lombok 导包: &l...
      99+
      2022-11-13
      springboot使用工具 springboot Lombok springboot devtools springboot Spring Initailizr
    • Java之TreeSet怎么使用
      TreeSet是一种有序的集合,它基于红黑树实现。以下是使用TreeSet的一些常见操作:1. 创建一个TreeSet对象:```j...
      99+
      2023-09-16
      Java TreeSet
    • Java之Sleep()怎么使用
      Sleep()方法是Java中的一个静态方法,用于让当前线程休眠指定的时间。它的使用格式如下:Thread.sleep(时间);其中...
      99+
      2023-08-08
      Java Sleep()
    • 为什么放弃使用Lombok
      这篇文章主要介绍“为什么放弃使用Lombok”,在日常操作中,相信很多人在为什么放弃使用Lombok问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么放弃使用Lombok”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-06-16
    • idea在springboot中怎么使用lombok插件
      这篇文章主要讲解了“idea在springboot中怎么使用lombok插件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“idea在springboot中怎么使用lombok插件”吧!在id...
      99+
      2023-06-20
    • Java开发神器Lombok安装与使用详解
      目录安装Idea插件的安装maven中pom文件的导入使用val@Data@Getter/@Setter@Log4j@AllArgsConstructor@NoArgsConstru...
      99+
      2024-04-02
    • Lombok中的@Builder注解怎么用
      这篇文章主要介绍Lombok中的@Builder注解怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Lombok中的@Builder注解的使用作用@Builder注解的作用主要是用来生成对象,并且可以为对象链式赋...
      99+
      2023-06-25
    • Java基础之FastJson怎么使用
      FastJson是一个Java的JSON解析库,可以将Java对象转换为JSON格式的字符串,也可以将JSON格式的字符串转换为Ja...
      99+
      2023-08-16
      Java FastJson
    • Lombok中@Data的使用方法是什么
      本篇内容主要讲解“Lombok中@Data的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Lombok中@Data的使用方法是什么”吧!Lombok先来简单介绍一下 Lombok ...
      99+
      2023-06-21
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作