Java BeanUtils - Tổng quan
Sự miêu tả
Java BeanUtils là các thành phần của Apache Commons có nguồn gốc từ JavaAPI và cung cấp kiến trúc thành phần cho ngôn ngữ Java. Các mẫu thiết kế Java BeanUtils sử dụng các lớp tiện ích giúp lấy và đặt các giá trị thuộc tính trên các lớp Java để truy xuất và xác định các thuộc tính bean.
Gói org.apache.commons.beanutils chứa công cụ có tên là introspection hỗ trợ việc sử dụng lấy và thiết lập các giá trị thuộc tính trên các lớp Java và hiển thị chúng theo cách trực quan trong các công cụ phát triển.
Đặc điểm của JavaBeans
Dưới đây là danh sách các đặc điểm quan trọng của JavaBeans hữu ích trong cấu trúc phát triển:
Lớp phải là công khai và cung cấp một hàm tạo công khai không có đối số. Nó cho phép các công cụ và ứng dụng tạo động các phiên bản mới của bean mà không cần biết loại tên lớp Java nào sẽ được sử dụng như hình dưới đây:
String className = ...; Class beanClass = Class.forName(className); Object beanInstance = beanClass.newInstance();
Hàm tạo không có đối số mà hành vi của bean có thể được cấu hình riêng biệt với việc khởi tạo của nó. Điều này có thể đạt được bằng cách sử dụng các thuộc tính của bean và cũng được sử dụng để sửa đổi hành vi hoặc dữ liệu được hiển thị bởi bean.
Thuộc tính bean chứa các phương thức setter và getter được sử dụng để truy cập các giá trị thuộc tính. Mẫu thiết kế cho các thuộc tính này có thể được chỉ định bằng cách sử dụng tập hợp hoặc lấy tiền tố cho tên thuộc tính cùng với ký tự đầu tiên được viết hoa bằng cách sử dụng đặc tả JavaBeans. Ví dụ: bạn có thể sử dụng các phương thức setter và getter cho các thuộc tính first_name và last_name như hình dưới đây:
public class Employee { public Employee(); // Zero-arguments constructor public String getFirstName(); public void setFirstName(String first_name); public String getLastName(); public void setLastName(String last_name); public String getFullName(); }
Nếu có các phương thức getter và setter cho tên thuộc tính, thì getter phải khớp với kiểu dữ liệu setter . Trong đặc tả JavaBean, bạn có thể có nhiều hơn một setter có cùng tên, nhưng với các kiểu thuộc tính khác nhau.
Không cần xác định phương thức getter và setter cho từng thuộc tính. Trong đoạn mã trên, không có phương thức setter nào cho thuộc tính fullName và nó chỉ là thuộc tính chỉ đọc.
Bạn có thể tạo một JavaBean mà không có mẫu đặt tên phù hợp nào bằng cách sử dụng các phương thức getter và setter . JavaBean hỗ trợ các lớp bằng ngôn ngữ Java và gói BeanUtils để chỉ định tên phương thức thuộc tính trong lớp BeanInfo cùng với lớp bean.
Đặc tả JavaBeans cung cấp các mẫu thiết kế cho người nghe sự kiện, kết hợp JavaBeans vào cấu trúc phân cấp thành phần và các tính năng hữu ích khác của gói BeanUtils.
Sự phụ thuộc bên ngoài
Bạn có thể sử dụng các phần phụ thuộc bên ngoài sau cho gói commons-beanutils :
Gói ghi nhật ký
Gói Bộ sưu tập