• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp

Java Annotation là gì?

@admiz by @admiz
15/05/2021
in Kiến thức tổng hợp
0
Java Annotation Là Gì? 609f4e644f686.png

Nếu đã biết Java, các bạn hẳn đều biết đến Annotations, được ra đời từ Java 1.5 năm 2004, Annotations thực sự trở thành một nhân tố không thể thiếu của Java. Rất khó khăn nếu chúng ta phải code Java mà không có Annotations. Hãy tìm hiểu kĩ hơn qua bài viết của NQ News Cloud sau đây nhé!


Trong việc phát triển các thư viện, framework, công cụ,… khi cần đánh dấu các hàm, class hoặc phương thức để có thể tìm kiếm đúng và nhanh hơn cho một tiến trình xử lý, bạn sẽ tiến hành như thế nào?

Trước Java 5, người ta hay dùng Properties (một dạng từ điển bao gồm key, value), XML hay thậm chí là comment code để làm việc này (điển hình cho việc dùng comment code chính Hibernate).

Chẳng hạn, trong một ứng dụng như Hibernate, việc chuyển đổi giá trị của một trường từ Java Bean (Java Object) sang trường của bảng trong cơ sở dữ liệu thì ta phải đánh dấu vào đó tên trường là gì, thuộc bảng nào. Nhờ đó, Hibernate có thể chuyển đổi thành câu lệnh SQL tương ứng và tiến hành execute (thực thi) để dữ liệu từ Bean để chuyển vào database. Ngược lại, việc chuyển đổi dữ liệu từ bản ghi trong cơ sở dữ liệu sang Java Bean cũng có thể phải dùng đến những đánh dấu. Nhờ vào các hệ thống lookup class như ClassLoader mà chúng ta có thể tìm thấy class. Nhưng Class này có tên không tương ứng với tên bảng trong cơ sở dữ liệu thì buộc phải dùng những đánh dấu trong class để kiểm tra. Các trường trong bảng được map (ánh xạ giá trị) sang trường của Java Bean. Do đó, trong nhu cầu thực tế phát triển phần mềm, chúng ta cần những đánh dấu code.

Giải quyết bài toán đó, người ta thường dùng các file properties, XML config hoặc comment code để đánh dấu. Đến Java 5 thì Sun thêm vào cái gọi là Annotation.

Annotation trước tiên được hiểu là một dạng meta data. Meta data là đặc tả dữ liệu cho một đối tượng, giá trị gì đó. Chẳng hạn các tập tin mp3, ảnh, hoặc một bài viết có thể có meta data dạng XML Format là RSS. Đặc tả dữ liệu là một tập giá trị chứa những thông tin gắn gọn, cơ bản mô tả về đối tượng nào đó. Chẳng hạn, với một bài hát thì meta data có thể bao gồm: tên ca sĩ trình bày, tên nhạc sĩ, bài hát này hát trong bao lâu,… Meta data không phải là siêu dữ liệu như một số người từng dịch từ tiếng Anh sang tiếng Việt.

Java Annotation không phải là một định dạng cố định được cung cấp trực tiếp từ JRE. Nghĩa là chúng ta có thể định nghĩa Annotation cho framework, thư việc, ứng dụng,… mà chúng ta phát triển. 

Ví dụ, với bài toán của Hibernate kia thì Annotation sẽ ứng dụng như sau: 

Ta có một bảng trong cơ sở dữ liệu là HocSinh với ba trường là: ID, Ten, Diem. Yêu cầu của những ứng dụng dùng đến Hibernate là phải map được giá trị này từ bảng HocSinh sang một Java Bean (Java Object) tương ứng. Nhà thiết kế và quản trị cơ sở dữ liệu và nhà phát triển có thể là 2 người, làm hai công việc đó, tách biệt nhau.

Nhà phát triển viết một Class là:

public class Student {

private int id;

private String name;

private String score;

// Các setter và getter

Giá trị từ một bảng có thể được map tự động sang một đối tượng Student và ngược lại. Như vậy, nếu dùng đánh dấu thì có nhiều cách như đặt tên Class tương ứng với bảng, đặt comment, properties,…

Như đã thấy, tên bảng và các trường trong bảng không trùng với tên class và các trường trong class. Một cách là bắt lập trình viên phải đặt tên tương ứng với tên bảng. Nhưng như vậy sẽ làm cứng nhắc, giới hạn phạm vi linh động trong việc chọn tên vì một dự án thường rất nhiều class. Người ta hay dùng đến comment, properties, XML hơn.

Annotation là một sáng kiến hiện đại, hiệu quả, ngắn gọn, nhanh,…hơn rất nhiều so với các phương pháp khác. Nhà thiết kế Hibernate có thể tạo ra các Annotation cho framework của riêng họ. Xét ví dụ sau đây:

public @interface Hibernate_Table {

String value();


public @interface Hibernate_Field {

String value();

Như vậy, lập trình viên sẽ đánh dấu Java Bean của họ như sau:

@Hibernate_Table(“HocSinh”)

public class Student {

@Hibernate_Field(“ID”)

private int id;

@Hibernate_Field(“Ten”)

private String name;

@Hibernate_Field(“Diem”)

private String score;

// Các setter và getter

Bạn thấy đó, chỉ cần nhìn vào class cũng có thể biết được Bean tạo ra sẽ đẩy dữ liệu vào đâu.

Một số lợi ích bạn cần biết:

– Tường minh: Nhìn vào class trên bạn có thể thấy rõ mục đích.

– Đơn giản.

– Tránh được rất nhiều lỗi trong Runtime: Trong lập trình, chúng ta thường rất sợ lỗi về runtime. Lỗi được báo ở khâu compile thường ít nguy hiểm và được giải quyết nhanh chóng bởi lập trình viên nhưng lỗi trong runtime là những lỗi vô cùng khó nhằn, mất nhiều thời gian để tìm ra nguyên nhân.

Annotation là một cách để đẩy các lỗi cú pháp trong quá trình config về khâu compile. Nghĩa là compiler có thể báo nhanh cho lập trình viên một số config sai trong lúc dịch. Nếu dùng các phương pháp như comment, properties hoặc XML thì các lỗi này chỉ được báo trong runtime bởi chúng đơn thuần là text data.

– Ứng dụng chạy nhanh hơn: Việc dùng định dạng như XML chúng ta phải tốn thời gian, bộ nhớ để chuyển đổi từ XML sang các dạng đối tượng có API để dễ tương tác lệnh như DOM hoặc SAX cũng là một trở ngại. Dùng Annotation thì đỡ đi được rất nhiều.

Hi vọng bài viết đã giúp ích được cho bạn. Cảm ơn bạn đã theo dõi!


Theo NQ News Cloud chia sẻ


Post Views: 159
Previous Post

Tiến trình SSH key hoạt động như thế nào?

Next Post

Những điều phải biết về công nghệ RAID

Related Posts

Sửa Nhanh Lỗi Laptop Windows 10 Sạc Pin Không Vào 60951215e059b.png
Phần cứng

Sửa nhanh lỗi laptop Windows 10 sạc pin không vào

11/05/2022
Làm Thế Nào để Xóa Một Phân Vùng Trên ổ đĩa Cứng Windows? 60951232be65c.png
Phần cứng

Làm thế nào để xóa một phân vùng trên ổ đĩa cứng Windows?

11/05/2022
Test Pin Laptop, Cách Kiểm Tra Pin Laptop đang ở Mức Nào Mà Không Cần Cài Phần Mềm 6095123831651.png
Phần cứng

Test pin laptop, cách kiểm tra pin laptop đang ở mức nào mà không cần cài phần mềm

11/05/2022
Hướng Dẫn Xử Lý Khi Key Bàn Phím Laptop Bị Hỏng 6095121ca32df.png
Phần cứng

Hướng dẫn xử lý khi key bàn phím laptop bị hỏng

11/05/2022
Nên Dùng Súng Loại Nào Trong Chiến Dịch Huyền Thoại? 6094aaf17f1da.png
Phần Mềm

Nên dùng súng loại nào trong Chiến Dịch Huyền Thoại?

07/05/2022
Hướng Dẫn Cài đặt Wtfast để Giảm Ping Khi Chơi Game Online, Khi đứt Cáp 6094aae16ee4b.png
Phần Mềm

Hướng dẫn cài đặt WTFast để giảm ping khi chơi game online, khi đứt cáp

07/05/2022
Next Post
Những điều Phải Biết Về Công Nghệ Raid 609f4e76ef124.png

Những điều phải biết về công nghệ RAID

Bài mới nhất

Tổng Hợp 10 Mẫu Email Marketing Giới Thiệu Sản Phẩm Nổi Bật Nhất Hiện Nay 612d0da97658c.png

Tổng hợp 10 mẫu email marketing giới thiệu sản phẩm nổi bật nhất hiện nay

07/05/2025
Dịch Vụ Thiết Kế Website Tại Hải Dương Chuyên Nghiệp, ấn Tượng Và Uy Tín 612d25752b14f.png

Dịch vụ thiết kế website tại Hải Dương chuyên nghiệp, ấn tượng và uy tín

06/05/2025
Top Công Ty Thiết Kế Website Tại Biên Hòa Chuyên Nghiệp, Chuẩn Seo 612d259494e93.jpeg

Top công ty thiết kế website tại Biên Hòa chuyên nghiệp, chuẩn SEO

06/05/2025
Top Công Ty Thiết Kế Website Tại Vinh – Nghệ An Uy Tín 612d259a9cae3.jpeg

Top công ty thiết kế website tại Vinh – Nghệ An uy tín

05/05/2025
Top 10 Công Ty Thiết Kế Website Tại Nha Trang Chuyên Nghiệp 612d0a9ad018b.jpeg

Top 10 công ty thiết kế website tại Nha Trang chuyên nghiệp

05/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution