android使用lombok_Android上使用Lombok和set、get方法告别

本文介绍了如何在Android Studio中集成Lombok,通过配置lombok.config文件、引入依赖、安装Lombok Plugin插件,以及解决可能出现的报错问题。同时,文章列举了Lombok常用注解,如@Data、@Setter、@Getter等,帮助开发者简化代码。
摘要由CSDN通过智能技术生成

一、前言

在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。比如看下图我写的代码,一个@Data注解搞定,彻底抛弃set get方法。

import java.io.Serializable;

import lombok.Data;

@Data

public class LoginVo implements Serializable{

private String password;

private String phone;

}

本文的重点是讲解如何在AndroidStudio中集成Lombok,因为这个玩意我也是从后台的哥们那里get到的,后台开发工具用的是IDEA,依赖库用的是Maven,我们知道Android中开发工具用的是AndroidStudio,依赖库咱们用的是Gradle。集成方式还是有蛮大区别的。

二、Lombok集成到AndroidStudio

1、配置lombok.config文件

项目根目录下面新建配置文件 lombok.config,同时填上对应的配置项(lombok.anyConstructor.suppressConstructorProperties=true),Java项目不需要,Android和Java还是有点区别的,不配置有的注解使用不了,编译不过。

image.png

2、引入依赖库

provided "org.projectlombok:lombok:1.16.18"

compile 'org.glassfish:javax.annotation:10.0-b28'

image.png

3、安装Lombok Plugin插件

下图我已经安装好了插件了,具体怎么安装我就不多说了,直接搜Lombok就可以装了。

image.png

4、使用Lombok

比如我在类的上面加一个@Data,就不用再写set get方法了

package com.jilian.mydemo.common.vo;

import java.io.Serializable;

import lombok.Data;

@Data

public class LoginVo implements Serializable{

private String password;

private String phone;

}

而且我还能正常使用set get方法

/**

* 登录

*

* @param phone

* @param pwd

*/

public void login(String phone, String pwd) {

LoginVo vo = new LoginVo();

vo.setPassword(pwd);

vo.setPhone(phone);

loginliveData = getRepository(UserRepository.class).login(vo);

}

其实set get方法是有的,我们看下图。

image.png

三、关于报错

我的是AndroidSudio3.2.1,在使用 Lombok的时候报如下错误:

Annotation processors must be explicitly declared now.

解决方案:

android {

defaultConfig {

//在下面添加这句话,然后重新编译,就OK了。

javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }

}

四、常用注解

@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

@Setter :注解在属性上;为属性提供 setting 方法

@Getter :注解在属性上;为属性提供 getting 方法

@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象

@NoArgsConstructor :注解在类上;为类提供一个无参的构造方法

@AllArgsConstructor :注解在类上;为类提供一个全参的构造方法

@Cleanup : 可以关闭流

@Builder : 被注解的类加个构造者模式

@Synchronized : 加个同步锁

@SneakyThrows : 等同于try/catch 捕获异常

@NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常

@Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

@toString:注解在类上;为类提供toString方法(可以添加排除和依赖);

官方文档https://projectlombok.org/features/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值