Sử dụng Lombok để rút gọn code trong Java

Bài viết được sự cho phép của Tạp chí Lập trình

Giới thiệu

Lombok là một thư viện Java giúp sinh các mã getter & setter tự động. Bên cạnh đó còn hỗ trợ sinh các hàm khởi tạo (constructor) với tham số, hoặc không có tham số.

Nếu là lập trình viên Java, chắc hẳn ai cũng biết getter/setter, constructor. Với những lớp mô tả dữ liệu (Entity class), chúng ta thường lặp lại các thao tác tạo mã getter/setter và constructor một cách nhàm chán. Lombok giúp mã ngắn gọn hơn trong những trường hợp này.

Tuyển dụng lập trình viên Java lương cao

Hãy xem ví dụ sau!

Giả sử, chúng ta xây dựng chương trình quản lý danh sách việc cần làm (Todo List). Lớp mô tả dữ liệu Todo sẽ có 2 thuộc tính: title, complete.

public class Todo {

    private String title;
    private boolean complete;
    public Todo() { }

    public Todo(String title, boolean complete) {
        this.title = title;
        this.complete = complete;
    }
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
    public boolean isComplete() {
        return complete;
    }

    public void setComplete(boolean complete) {
        this.complete = complete;
    }
}

Nếu sử dụng Lombok, đoạn mã trên có thể được viết lại như sau:

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Todo {
    private String title;
    private boolean complete;
}

Ở trên sử dụng 4 anotation:
– @Setter để thay thế các phương thức: setTitle, setComplete
– @Getter để thay thế các phương thức: getTitle, isComplete
– @NoAgrsConstructor thay thế phương thức khởi tạo không có tham số Todo()
– @AllArgsConstructor thay thế phương thức khởi tạo có tham số Todo(…)

Nếu muốn gọn hơn nữa, chúng ta có thể viết như sau:

Ở trên sử dụng 4 anotation:
– @Setter để thay thế các phương thức: setTitle, setComplete
– @Getter để thay thế các phương thức: getTitle, isComplete
– @NoAgrsConstructor thay thế phương thức khởi tạo không có tham số Todo()
– @AllArgsConstructor thay thế phương thức khởi tạo có tham số Todo(…)

Nếu muốn gọn hơn nữa, chúng ta có thể viết như sau:

Nếu xây dựng một chương trình có nhều đối tượng dữ liệu cần mô tả thì việc áp dụng Lombok sẽ giảm đi một khối lượng lớn mã đáng kể, tiết kiệm nhiều thời gian và nâng cao hiệu suất công việc. Quả thật hữu ích phải không các bạn?

Nếu muốn tìm hiểu thêm những tính năng khác của Lombok, bạn có thể truy cập link sau: https://projectlombok.org/features/all

Tiếp theo, chúng ta sẽ tìm hiểu cách cài đặt Lombok vào dự án Java.

Các bước cài đặt

Nếu sử dụng Gradle, các bạn có thể thực hiện qua các bước sau:

Bước 1: Bổ sungbuild.gradle

Nếu xây dựng một chương trình có nhều đối tượng dữ liệu cần mô tả thì việc áp dụng Lombok sẽ giảm đi một khối lượng lớn mã đáng kể, tiết kiệm nhiều thời gian và nâng cao hiệu suất công việc. Quả thật hữu ích phải không các bạn?

Nếu muốn tìm hiểu thêm những tính năng khác của Lombok, bạn có thể truy cập link sau: https://projectlombok.org/features/all

Tiếp theo, chúng ta sẽ tìm hiểu cách cài đặt Lombok vào dự án Java.

  10 Java Web Framework tốt nhất
  10 lý do cho thấy tại sao bạn nên theo học ngôn ngữ lập trình Java

Các bước cài đặt

Nếu sử dụng Gradle, các bạn có thể thực hiện qua các bước sau:

Bước 1: Bổ sungbuild.gradle

compileOnly         'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
testCompileOnly         'org.projectlombok:lombok:1.18.10'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.10'

Bước 2: Cấu hình IDE để có thể xử lý annotation trong Lombok.

Với IntelliJ IDEA, có thể thiết lập bằng cách vào “Settings > Build > Compiler > Annotation Processors”, chọn “Default”, tick chọn “Enable annotaion processing”.

Sử dụng Lombok để rút gọn code trong Java

“Enable annotaion processing” trong IntelliJ IDEA

Tham khảo cách cài đặt cho các IDE khác ở link này: https://projectlombok.org/setup/overview

Qua nội dung trên, chúng ta đã biết được tác dụng của Lombok và cách cài đặt để sử dụng. Nếu có góp ý hoặc bổ sung, bạn có thể bình luận trực tiếp trên bài viết này.

Author: Đặng Huy Hòa

Bài viết gốc được đăng tải tại tapchilaptrinh.vn

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev