import lombok 报错_Android上使用Lombok和set、get方法告别
一、前言
在項目中使用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
總結
以上是生活随笔為你收集整理的import lombok 报错_Android上使用Lombok和set、get方法告别的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 吃鸡狼人模式在哪
- 下一篇: 倒数日app如何设置正数
