Anotasi Dasar Boot Musim Semi Yang Harus Diketahui Semua Orang

Diterbitkan: 2021-12-13

Java Spring Framework adalah kerangka kerja sumber terbuka dan tingkat perusahaan yang digunakan untuk membuat aplikasi mandiri tingkat produksi yang berjalan di Java Virtual Machine (JVM). Untuk tujuan ini, Java Spring Boot adalah alat yang menyederhanakan dan mempercepat pengembangan aplikasi web dan layanan mikro dengan Spring Framework. Untuk ini, Java Spring Boot memanfaatkan tiga kemampuan inti – konfigurasi otomatis, pendekatan konfigurasi yang beropini, dan potensi untuk membuat aplikasi mandiri. Penggabungan fitur inti ini menyediakan alat yang memungkinkan pengembang untuk mengatur aplikasi berbasis Spring dengan konfigurasi minimal.

Sebelum anotasi, perilaku Spring Framework sebagian besar dikontrol konfigurasi XML. Namun, anotasi Boot Musim Semi telah secara dramatis mengubah cara Anda mengonfigurasi perilaku Kerangka Kerja Musim Semi.

Dalam artikel ini, kita akan membahas beberapa anotasi dasar dalam Kerangka Musim Semi.

Daftar isi

Apa itu Anotasi Boot Musim Semi?

Anotasi Spring Boot adalah bentuk metadata. Mereka bukan bagian dari aplikasi yang sedang dikembangkan, tetapi menyediakan data tambahan tentang suatu program. Anotasi tidak memiliki dampak langsung pada operasi kode yang mereka anotasi, juga tidak mengubah tindakan program yang dikompilasi.

Aplikasi pegas memerlukan tingkat konfigurasi yang signifikan. Spring Boot adalah kerangka kerja berpendirian yang dibangun dari Kerangka Kerja Musim Semi. Ini meminimalkan upaya konfigurasi dan boilerplate yang dibutuhkan untuk memulai. Anotasi Boot Musim Semi adalah kunci untuk mendapatkan kendali atas Kerangka Kerja Musim Semi, mengarahkan kerangka kerja, dan mengesampingkan defaultnya bila diperlukan. Anotasi ini mudah digunakan dan lebih cepat daripada membangun fungsionalitas yang setara dari awal.

Anotasi Boot Musim Semi Yang Harus Diketahui Semua Orang

Meskipun Spring Boot bekerja dengan Java, Groovy, dan Kotlin, kami akan fokus pada Java sambil membahas anotasi Spring Boot yang penting.

1. @Konfigurasi

@Configuration digunakan di kelas yang mendefinisikan kacang. Analog dari file konfigurasi XML adalah anotasi tingkat kelas yang digunakan sebagai sumber definisi kacang. Kelas Java beranotasi @Configuration adalah konfigurasi itu sendiri dan memiliki metode untuk mengonfigurasi dan membuat instance dependensi.

Contoh:

@Konfigurasi

Bus kelas umum

{

@BeanBus mesin()

{

kembalikan Bus baru();

}

}

2. @Bean

Sebagai alternatif dari tag XML <bean>, anotasi @Bean digunakan pada tingkat metode untuk menunjukkan bahwa suatu metode menghasilkan kacang untuk dikelola oleh wadah Spring. Anotasi ini berfungsi bersama dengan @Configuration untuk membuat kacang Spring. @Configuration memiliki metode untuk mengonfigurasi dan membuat instance dependensi, dan metode tersebut dijelaskan oleh @Bean.

Contoh:

@Kacang

Kacang publikContoh kacangContoh ()

{

kembalikan BeanExample baru (),

}

3. @ComponentScan

Anotasi @ComponentScan digunakan untuk memindai paket kacang. Ini digunakan bersama dengan anotasi @Configuration untuk memberi tahu Spring paket yang harus dipindai untuk komponen beranotasi.

Contoh:

@ComponentScan(basePackages = “com.xyz”)

@Konfigurasi

ScanComponent kelas publik

{

//…

}

4. @Komponen

Anotasi @Component digunakan pada kelas untuk menunjukkan komponen Spring. Ini adalah anotasi tingkat kelas yang mengubah kelas menjadi kacang Spring selama pemindaian otomatis.

Contoh:

@Komponen

Guru kelas umum

{

……

}

5. @EnableAutoConfiguration

Anotasi @EnableAutoConfiguration biasanya ditempatkan pada kelas aplikasi utama, dan secara implisit mendefinisikan paket pencarian dasar. Berdasarkan pengaturan classpath, berbagai pengaturan properti, dan kacang lainnya, @EnableAutoConfiguration mengarahkan Spring Boot untuk mulai menambahkan kacang.

6. Aplikasi @SpringBoot

Anotasi @SpringBootApplication menambahkan tiga anotasi – @Configuration, @EnableAutoConfiguration, dan @ComponentScan. Ini digunakan pada kelas aplikasi saat menyiapkan proyek Boot Musim Semi, dan kelas yang dijelaskan dengan @SpringBootApplication ditempatkan di paket dasar. @SpringBootApplication melakukan pemindaian komponen, tetapi hanya sub-paket.

7. @Repositori

Anotasi @Repository digunakan pada kelas Java yang mengakses database secara langsung. Ini berfungsi sebagai penanda untuk kelas yang memenuhi peran Objek Akses Data atau repositori.

Contoh:

@Gudang

TestRepository kelas publik

{

hapus batal publik()

{

// kode persistensi

}

}

8. @Layanan

Ini adalah anotasi tingkat kelas yang menandai kelas Java yang melakukan layanan seperti mengeksekusi logika bisnis, melakukan perhitungan, atau memanggil API eksternal. Anotasi @Service adalah bentuk khusus dari anotasi @Component untuk digunakan di lapisan layanan.

Contoh:

@Melayani

TestService kelas publik

{

layanan batal publik1()

{

// kode bisnis

}

}

9. @Autowired

Anotasi ini secara implisit menyuntikkan ketergantungan objek dan diterapkan pada bidang, konstruktor, dan metode penyetel. Ketika @Autowired digunakan pada bidang, dan nilai bidang diteruskan menggunakan nama properti, Spring secara otomatis menetapkan bidang dengan nilai yang diteruskan.

10. @Pengendali

Anotasi @Controller digunakan pada kelas Java yang berfungsi sebagai pengontrol dalam suatu aplikasi. Ini memungkinkan deteksi otomatis kelas komponen di classpath dan juga pendaftaran otomatis definisi kacang untuk mereka. Anotasi @Controller biasanya digunakan dengan @RequestMapping, dan kelas Java yang dianotasi dengan @Controller dapat menangani beberapa pemetaan permintaan.

Contoh:

@Pengendali

@RequestMapping("mobil")

CarsController kelas publik

{

@RequestMapping(nilai= “/{nama}”, metode= RequestMethod.GET)

karyawan publik getCarsByName()

{

Kembalikan mobilTemplat;

}

}

11. @RequestMapping

Anotasi @RequestMapping digunakan pada metode dan tingkat kelas. Ini berfungsi untuk memetakan permintaan web ke metode penangan yang ditentukan dan kelas penangan. Ketika @RequestMapping digunakan pada metode, ini memberikan URL tempat eksekusi metode handler akan terjadi. Sebaliknya, ketika anotasi digunakan pada tingkat kelas, itu membuat URL dasar yang pengontrolnya akan digunakan. Oleh karena itu, setiap metode handler akan memiliki pemetaan permintaan masing-masing, sedangkan pemetaan permintaan tingkat kelas tetap sama.

Contoh:

@Pengendali

FlowersController kelas publik

{

@RequestMapping (“/warna merah/bunga”)

publik String getAllFlowers (Model model)

{

//kode aplikasi

kembalikan "daftar bunga";

}

12. @Kualifikasi

@Qualifier digunakan bersama dengan @Autowired ketika lebih banyak kontrol diperlukan atas proses injeksi ketergantungan. Anotasi @Qualifier dapat ditentukan baik pada parameter metode atau argumen konstruktor individu. Kebingungan biasanya muncul ketika pengembang membuat lebih dari satu kacang dari jenis yang sama, tetapi hanya satu dari mereka yang harus dihubungkan dengan properti. Anotasi @Qualifier berguna untuk menghilangkan kebingungan ini.

Contoh:

@Komponen

kelas publik BeanB1 mengimplementasikan BeanInterface {

//

}

@Komponen

kelas publik BeanB2 mengimplementasikan BeanInterface {

//

}

Dalam contoh di atas, BeanInterface diimplementasikan oleh dua kacang BeanB1 dan BeanB2. Sekarang, jika BeanA mengotomatiskan antarmuka ini, Spring tidak akan tahu yang mana dari dua implementasi yang harus disuntikkan. Anda dapat mengatasi masalah ini menggunakan anotasi @Qualifier. Dengan anotasi ini, Spring akan tahu mana dari kacang yang akan diautowire.

@Komponen

kelas publik BeanA {

@Autowired

@Qualifier("kacangB2")

ketergantungan BeanInterface pribadi;

}

13. @Nilai

Anotasi @Value digunakan di bidang, parameter metode, dan tingkat parameter konstruktor. Ini menunjukkan ekspresi nilai default untuk parameter atau bidang untuk menginisialisasi properti.

14. @Malas

Anotasi @Lazy diterapkan ke kelas komponen. Saat startup, semua dependensi autowired dibuat dan dikonfigurasi secara default. Tetapi anotasi @Lazy dapat digunakan jika pengembang ingin menginisialisasi kacang dengan malas. Dengan demikian, kacang dibuat dan diinisialisasi hanya berdasarkan permintaan. Anotasi @Lazy juga dapat digunakan pada kelas @Configuration, yang berarti bahwa semua metode @Bean dalam @Configuration akan dimulai dengan malas.

Meskipun daftar anotasi Java Spring Boot ini tidak lengkap, ini kurang lebih mencakup yang paling dasar yang harus diketahui oleh setiap pengembang atau penggemar Java. Bagaimanapun, Spring Boot telah menyederhanakan pengembangan aplikasi berbasis Spring dan perlu diketahui.

Master of Science dalam Ilmu Data dari Liverpool John Moores University

Jika Anda seorang calon ilmuwan data, inilah kesempatan untuk belajar dari yang terbaik. upGrad menawarkan gelar Master of Science dalam Ilmu Data dalam kemitraan dengan Liverpool John Moores University, yang dirancang khusus untuk para profesional yang bekerja yang ingin mengasah keterampilan dan pengetahuan ilmu data mereka.

Berikut adalah beberapa sorotan program secara sekilas:

  • Gelar Master dari LJMU dan Executive PGP dari IIT Bangalore
  • 500+ jam pembelajaran yang dikemas dengan sesi langsung, studi kasus, dan proyek
  • Cakupan komprehensif dari 14+ alat dan perangkat lunak
  • Tiga spesialisasi unik
  • Bantuan karir khusus 360 derajat
  • Pembelajaran sejawat dan jaringan industri

Program pembelajaran upGrad yang imersif dan relevan dengan industri telah berdampak pada lebih dari 500.000 profesional yang bekerja secara global dan terus menetapkan standar tinggi di industri EdTech yang lebih tinggi. Jadi, daftar sekarang dan bergabunglah dengan 40.000+ basis pelajar global yang tersebar di 85 negara!

Pelajari kursus ilmu data online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Apa tujuan dari starter Spring Boot?

Pemula Boot Musim Semi adalah deskriptor ketergantungan yang memungkinkan penambahan stoples di classpath. Setiap starter memiliki pola penamaan berikut dalam kerangka Spring Boot: spring-boot-starter-*, di mana * mewakili jenis aplikasi tertentu.

Apa perbedaan antara @SpringBootApplication dan @EnableAutoConfiguration?

Tugas utama @EnableAutoConfiguration adalah mengaktifkan fitur konfigurasi otomatis dari aplikasi Spring Boot. Sebaliknya, @SpringBootApplication menggabungkan tiga anotasi - @ComponentScan untuk pemindaian komponen, @Configuration untuk konfigurasi berbasis Java pada kerangka Spring, dan @EnableAutoConfiguration untuk memungkinkan konfigurasi otomatis dalam aplikasi Spring Boot.

Bisakah boot Spring berjalan tanpa SpringBootApplication?

Tidak wajib menggunakan @SpringBootApplication untuk membuat aplikasi Spring Boot. Anda masih dapat menggunakan @EnableAutoConfiguration dan @Configuration satu per satu.