Avatar
1
Nguyen Nam Teacher
Nguyen Nam Teacher
Ý nghĩa của anotation
Hi a Dũng,

Cho em hỏi các anotation sau có ý nghĩa gì ạ.

Em cảm ơn.

@EzyConfigurationBefore

@EqualsAndHashCode

@MappedSuperclass

@Data

@Retention

@Inherited

@Target

  • Answer
java exyfox server
Remain: 5
1 Answer
Avatar
tvd12 Teacher
tvd12 Teacher
The Best Answer
  1. @EzyConfigurationBefore

Khi bean context được khởi tạo, nó sẽ gọi đến các lớp được annotation với EzyConfigurationBefore đầu tiên.

  1. @EqualsAndHashCode

Khi em dùng annotation này, thằng lombok nó sẽ tự tạo ra hàm equalshashCode cho em

  1. @MappedSuperclass

Dùng cho jpa khi em muốn các thuộc tính của lớp cha được include vào lớp entity thừa kế lớp cha này

  1. @Data

Khi em dùng annotation này, thằng lombok nó sẽ tự tạo các hàm getter, setter, và toString cho em.

  1. @Retention

Chuyên dùng để định nghĩa annotation, nó sẽ quy định phạm vi mà anntation sẽ được áp dụng:

  • SOURCE: dùng ở trong giai đoạn code, dùng để mô tả và hướng dẫn compiler, ví dụ @Override dùng để mô tả là hàm đó được cài đặt lại chứ ko có ý nghĩa gì với trình dịch
  • CLASS: có ý nghĩa với trình dịch nhưng ít dùng
  • RUNTIME: dùng để sử dung ở runtime

  1. @Inherited

Chuyên dùng để định nghĩa annotation, để nói rằng các lớp con thừa kế lớp cha sử dụng annotation này cũng sẽ bị annotated như lớp cha.

  1. @Target

Chuyên dùng để định nghĩa annotation, để chỉ định vị trí mà annotation được sử dụng, ở hàm, ở lớp, ở tham số hay ở package

  • 3
  • Reply
Anh Dũng cho em hoi là khi mình tự tạo một annotation bằng cách dùng @Rentation để cung cấp thêm thông tin (meta-data) cho lớp, cho hàm. Sau đó thì mình dùng java reflection để đọc mấy cái annotation. Em hiểu vậy đúng không ạ  –  hovanvydut 1630269526000
Đúng rồi em ạ  –  tvd12 1630286895000