java - Lombok

在javaEE的开发过程中,不可避免的会出现很多的POJO(简单的java对象,一般不带有业务逻辑或者是持久逻辑),通常情况下做VO(value-project) 和 与数据库表对应的对象。

我们以StudentInfo类为例:包含一下几个属性。

private String name;
private int age;
private float grade;

一般情况下

1. 需要构造方法;
2. 需要针对每个属性写相对应的getter 和 setter 方法;
3. 如果在大型工程开发中,打印日志的话,还需要 重写 toString()方法;
4. 如果这个类可能出现在HashMap这种数据结构中的时候,还需要重写 hashCode() 和 equals()方法。

当然 Eclipse 这种IDE 有很便捷的一键生成按钮。只是即使这样,写完之后的类大概是这样:

package wzp.java.lombok;

public class StudentInfo {
    private String name;
    public StudentInfo(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + age;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        StudentInfo other = (StudentInfo) obj;
        if (age != other.age)
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
    @Override
    public String toString() {
        return "StudentInfo [name=" + name + ", age=" + age + "]";
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    private int age;
}

Lombok的使用

lombok 为我们提供了不多但是非常管用的几个注解,来解决这个问题:

1. @Getter/@Setter : 注解类(覆盖所有属性), 也可以注解单个属性
2. @EqualsAndHashCode(exclude={"name", "age"}) : 生成 hashCode() 和 equals方法
3. @Data 如果注解在类上的话:提供 @ToString @EqualsAndHashCode @RequiredArgsConstructor,
所有属性的 @Getter,以及非final 属性的@Setter.

类似的注解还有几个,具体可依查看官网:https://projectlombok.org/features/index.html
解释非常仔细,也有非常实用的DEMO。

下面看一下使用完Lombok之后的代码:

package wzp.java.lombok;

import lombok.Data;

@Data
public class StudentInfo {
    private String name;
    private int age;
}

对,就是这么简单。

Lombok 的安装

在官网:https://projectlombok.org/ 上有一个视频,上面有很直观的说明。

如果你不想你的POJO看起来总是那么臃肿的话,Lombok是一个不错的选择,当然在大型项目中比较适用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
weixin-java-cp是一个用于企业微信开发的Java SDK。根据引用[1],weixin-java-cp有以下几个文件提供: 1. weixin-java-cp-2.8.0.jar:这是SDK的jar包。 2. weixin-java-cp-2.8.0-javadoc.jar:这是SDK的API文档的jar包。 3. weixin-java-cp-2.8.0-sources.jar:这是SDK的源代码的jar包。 4. weixin-java-cp-2.8.0.pom:这是SDK的Maven依赖信息文件。 根据引用和引用,weixin-java-cp还有一个基于Spring Boot和WxJava实现的微信企业号企业微信放置演示项目称为weixin-java-cp-demo。这个项目是一个企业微信替代开发功能的演示程序。该项目使用了Spring Boot框架,并且使用了weixin-java-cp这个SDK。 在使用weixin-java-cp时,首先需要配置项目。根据引用中的描述,你需要复制/src/main/resources/application.yml.template文件并将其扩展名修改为application.yml。然后根据自己的需要填充相关配置信息。配置文件中包含了一些主要配置说明,需要根据实际情况进行填写。其中,如果要配置通讯录agentId的应用,可以随便配置一个agentId,只要保证和服务器URL地址中的一致即可。 总之,weixin-java-cp是一个用于企业微信开发的Java SDK,它提供了jar包、API文档、源代码和Maven依赖信息文件。同时,还有一个基于Spring Boot和WxJava实现的微信企业号企业微信放置演示项目weixin-java-cp-demo。在使用weixin-java-cp时,需要配置相关信息,可以参考引用中的说明。 : 赠送jar包:weixin-java-cp-2.8.0.jar; 赠送原API文档:weixin-java-cp-2.8.0-javadoc.jar; 赠送源代码:weixin-java-cp-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-cp-2.8.0.pom; : @[TOC](<font color=#a5c>) 🐱‍🏍 weixin-java-cp-demo:基于Spring Boot和WxJava实现的微信企业号企业微信放置演示 。 : ✨企业微信WxJava的Demo演示程序介绍 本项目为,基于Spring Boot ,实现企业微信替代开发功能。 更多信息请查阅: : 使用步骤: 请注意,本演示为简化代码编译时加入了lombok支持,如果不了解lombok的话,请先学习下相关知识,可以比如阅读; 另外,新手遇到问题,请首先阅读主页的常见问题部分,可以少走很多弯路,节省大量时间。 配置:复制/src/main/resources/application.yml.template修改其扩展名生成application.yml文件,根据自己需要填充相关配置(需要注意的是:yml文件内部的属性冒号后面的文字之前需要加空格,可参考已有配置,否则属性会设置不成功); 主要配置说明如下:(注意:如果是要配置通讯录agentId的应用, agentId可以随便配置一个,保证跟下面服务器URL地址里的一致即可。) wechat: cp: corpId: 111 (企业ID 在此页面查看:https://work.weixin.qq.com/wework_admin/frame#profile) appConfigs: ✨ 。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值