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.
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
Bài viết gốc được đăng tải tại tapchilaptrinh.vn
Có thể bạn quan tâm:
- Coding Standard JavaScript giúp code luôn gọn gàng, dễ đọc
- Arguments object trong javascript là gì? Cách sử dụng?
- Định dạng số trong JavaScript
Xem thêm Việc làm Developer hấp dẫn trên TopDev
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?
- C Cách tích hợp ChatGPT vào Google Search siêu dễ