Lombok——讓代碼更優雅,開發更高效

認識Lombok

先來看個例子:

@Data
@AllArgsConstructor
public class UserDO {

    @NonNull
    private Integer id;
    private String userName;
    private String userPassword;

    public static void main(String[] args) {
        UserDO user = new UserDO(1,"userName","userPassword");
        System.out.println(user.toString());
    }
}

讓我們run一下:

#idea
UserDO(id=1, userName=userName, userPassword=userPassword)

是不是很神奇,讓我再看下神奇的事情。
這裏寫圖片描述
是不是好像明白了啥?對的,Lombok就是幹這事的。@Data、@AllArgsConstructor就是幕後黑手。
整個類等價於:

public class UserDO {

    private Integer id;
    private String userName;
    private String userPassword;

    public UserDO(Integer id, String userName, String userPassword) {
        this.id = id;
        this.userName = userName;
        this.userPassword = userPassword;
    }

    protected boolean canEqual(Object other) {
        return other instanceof UserDO;
    }

    @Override
    public boolean equals(Object o) {
        //equals
    }

    @Override
    public int hashCode() {
        //hashCode
    }

    @Override
    public String toString() {
        return "UserDO{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", userPassword='" + userPassword + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserPassword() {
        return userPassword;
    }

    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    public static void main(String[] args) {
        UserDO user = new UserDO(1, "userName", "userPassword");
        System.out.println(user.toString());
    }

}

我們在web項目中常用的DO、DTO、VO等一系列經常需要自動生成一些get/set方法、構造函數的,都可以通過lombok的註解簡化使用,非常的快捷方便。

其他功能

lombok除了@Data以外還有還有很多其他功能,都可以通過註解來實現:
這裏寫圖片描述
看不清可以保存下來看。

學習資源

lombok本身非常簡單,而且官網資料也非常齊全,看一遍跑一遍例子就完全掌握了,因此非常推薦看官網。當然你百度一下也能發現很多搬官網例子的博客,看英文不舒服的可以參考下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章