Pengantar anotasi Java
Pengembangan Java berbasis anotasi tidak diragukan lagi merupakan tren perkembangan terkini. [Catatan Penerjemah: Ini adalah artikel dari tahun 2005. Pada tahun 2014, tidak ada keraguan bahwa penggunaan anotasi telah menjadi solusi yang baik untuk pengembangan kolaboratif multi-orang dalam sebuah koperasi cara, saling mempengaruhi dan berpasangan bisa sangat rendah].
Pengembangan berbasis anotasi membebaskan pengembang Java dari file konfigurasi yang rumit dan rumit. Anotasi diperkenalkan pertama kali di Java 5.0. Anotasi adalah salah satu fitur versi JDK ini, mentransfer pekerjaan pemrogram untuk menulis file API sampel Java ke kompiler. . Kode dan dokumentasi lebih mudah dipelihara ketika kode sumber dan dokumentasi API yang terpisah tidak lagi dipelihara. Contoh kode yang dihasilkan juga kecil kemungkinannya mengandung bug.
Anotasi Java adalah salah satu fitur utama di JDK 5, membuat pengembangan menjadi lebih sederhana dan mudah. Anotasi seperti semacam informasi meta (meta, yang dapat dipahami sebagai informasi tambahan untuk dilihat oleh program khusus) dan dapat ditambahkan ke dalam kode. , dapat digunakan dalam deklarasi paket, deklarasi tipe, konstruktor, metode, bidang, parameter, dan variabel. Mereka menyediakan cara yang efisien untuk menunjukkan apakah suatu metode bergantung pada metode lain, lengkap, apakah kelas mereferensikan kelas lain, dll.
Mengutip dari situs resmi Oracle, "Ini (pengembangan berbasis anotasi) memungkinkan kita menghindari keharusan menulis dokumentasi API terpisah dalam banyak kasus. Kita hanya perlu mengaktifkan alat untuk menghasilkan anotasi dari kode sumber. Gaya pemrograman deklaratif ini telah terbentuk. Pemrogram mengatakan, apa yang perlu dilakukan, biarkan saja alat melakukannya sesuai kode."
Sederhananya, anotasi adalah mekanisme yang mengaitkan meta-tag dengan elemen program, memungkinkan kompiler atau JVM mengekstrak perilaku program dari elemen yang dianotasi dan menghasilkan kode yang saling bergantung bila diperlukan.
Di bagian pertama rangkaian artikel ini, saya akan memperkenalkan beberapa anotasi dasar Java, manfaatnya, dan beberapa contoh penggunaannya.
Dasar-dasar anotasi Java
Anda perlu memahami dua hal. Yang pertama adalah "anotasi" (anotasi, mirip dengan objek baru) itu sendiri, dan yang lainnya adalah "tipe anotasi" (tipe anotasi, mirip dengan definisi kelas). digunakan dalam kode Anda, ini sebenarnya memiliki siklus hidup dan cakupan aplikasi. Jenis anotasi digunakan untuk mendefinisikan anotasi. type adalah tipe konstruksi aktual yang digunakan, dan anotasi hanyalah penggunaan spesifik dari tipe tersebut.
Saat menentukan jenis anotasi, Anda perlu menggunakan tanda "at" (@, beberapa orang di Tiongkok mengucapkannya sebagai lingkaran), diikuti dengan kata kunci antarmuka, ditambah nama anotasi, di sisi lain, menggunakan formulir anotasi juga Pertama tulis simbol "at" (@), diikuti dengan jenis anotasi. Ini adalah bentuk anotasi yang paling sederhana. Selain itu, saat menggunakan anotasi, Anda dapat menambahkan tanda kurung setelah nama untuk menyertakan parameter yang diperlukan dilewati. Selanjutnya Anda akan melihat contohnya:
Contoh pendefinisian tipe anotasi: (Jenis Anotasi, tipe anotasi, mirip dengan pendefinisian kelas)
Copy kode kodenya sebagai berikut:
publik @interface MyAnnotation {
String melakukan Sesuatu();
}
Menggunakan anotasi (Contoh anotasi) dalam kode normal
Copy kode kodenya sebagai berikut:
@MyAnnotation (melakukan Sesuatu = "Apa yang harus dilakukan")
kekosongan publik metode saya() {
....
}
Jenis anotasi Java (Jenis Anotasi)
Ada tiga jenis anotasi:
Penanda: Anotasi jenis penanda tidak memiliki elemen, hanya nama.
definisi:
Copy kode kodenya sebagai berikut:
// Anotasi semacam ini seperti label, tanpa status
// Sedikit mirip dengan antarmuka Serializable tanpa definisi metode
publik @interface AMarkerAnnotation {
}
menggunakan:
Copy kode kodenya sebagai berikut:
@AMarkerAnnotation
kekosongan publik metode saya() {
....
}
Anotasi elemen tunggal: Anotasi Elemen Tunggal atau nilai tunggal hanya membawa satu data. Anotasi tersebut dapat dinyatakan sebagai data=nilai dalam tanda kurung, atau hanya satu nilai yang dapat diteruskan (metode penulisan sederhana).
definisi:
Copy kode kodenya sebagai berikut:
@interface publik SingleElementAnnotation
{
String melakukan Sesuatu();
}
menggunakan:
Copy kode kodenya sebagai berikut:
@SingleElementAnnotation ("Anda hanya dapat meneruskan nilai dari tipe yang sesuai")
kekosongan publik metode saya() {
....
}
Anotasi nilai penuh atau beberapa nilai: Anotasi tipe nilai penuh memiliki beberapa anggota data. Oleh karena itu, parameter harus diteruskan menggunakan format sintaksis data=nilai lengkap untuk setiap anggota.
definisi:
Copy kode kodenya sebagai berikut:
publik @interface FullValueAnnotation {
String melakukan Sesuatu();
int hitungan;
Tanggal string();
}
menggunakan:
Copy kode kodenya sebagai berikut:
@FullValueAnnotation (doSomething="nilai parameter", hitungan=1,
tanggal="09-09-2005")
kekosongan publik metode saya() {
....
}
Pertimbangan untuk mendefinisikan tipe anotasi Java
Hal-hal yang perlu diperhatikan saat mendefinisikan jenis anotasi:
1. Deklarasi anotasi harus dimulai dengan simbol at (@), diikuti dengan kata kunci antarmuka, dan nama anotasi.
2. Deklarasi metode dalam anotasi tidak menerima parameter apa pun (hanya terlihat seperti metode, namun pada dasarnya merupakan domain atribut).
3. Deklarasi metode dalam anotasi tidak boleh memiliki klausa throws.
4. Tipe pengembalian metode dalam anotasi hanya boleh sebagai berikut:
@primitif (6 tipe data primitif, int, byte, dll.)
@String(string)
@Kelas(kelas, seperti String.kelas)
@enum (pencacahan)
@array dari tipe di atas (array, elemen array hanya dapat berupa salah satu tipe di atas)
Jenis anotasi Java
Ada dua jenis anotasi di JDK5:
1.Anotasi sederhana (tipe anotasi sederhana): Ini adalah tipe dasar yang disediakan oleh Tiger (Tiger adalah nama kode JDK1.5?) dan hanya dapat digunakan untuk membuat anotasi pada kode biasa; tidak dapat digunakan untuk membuat jenis anotasi khusus lainnya .
2. Anotasi meta: Dirancang khusus untuk memberi anotasi pada deklarasi jenis anotasi lainnya.