Nội dung [ẩn]
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.
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.
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”.
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
Đăng ký nhận bộ tài liệu học Java trên 2 trang giấy tại đây
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.