JavaRush /Java Blog /Random-ID /Manfaat menggunakan Musim Semi
Alex
Level 37

Manfaat menggunakan Musim Semi

Dipublikasikan di grup Random-ID
Banyak pengembang pemula cepat atau lambat akan menemukan Spring , kerangka kerja populer untuk mengembangkan aplikasi di Java. Hal utama yang memungkinkan Spring untuk Anda lakukan adalah menyederhanakan pengembangan aplikasi J2EE untuk pengembang. Berikut manfaat utama yang didapat pengembang saat menggunakan Spring:
Manfaat menggunakan Musim Semi - 1
  • Spring menyediakan kerangka kerja untuk aplikasi masa depan Anda, jika Anda menginginkan "kosong" untuk aplikasi masa depan Anda. Pada saat yang sama, kerangka kerja menentukan aturan untuk membangun aplikasi - ada arsitektur aplikasi tertentu yang Anda perlukan untuk membangun fungsionalitas Anda. Fungsionalitas ini sebenarnya akan menjadi logika bisnis aplikasi Anda. Spring mencakup banyak subproyek yang disesuaikan dengan fungsi tertentu (SpringMVC, Spring Security, SpringData, dll. daftar lengkapnya dapat dilihat di https://spring.io/projects ), dari mana pengembang dapat memilih salah satu yang paling cocok untuknya, dan jangan gunakan sisanya - ini adalah prinsip modular dalam membangun aplikasi;

  • Dalam aplikasi berbasis Spring, objek digabungkan secara longgar melalui penggunaan injeksi ketergantungan. Salah satu tujuan Musim Semi adalah untuk memutus ketergantungan beberapa objek pada objek lain. Apa itu kecanduan? Ini adalah saat Object1 menggunakan metode Object2 lain, yaitu Object1 bergantung pada Object2, metode yang digunakannya. Kenapa dia bergantung? Namun karena hingga objek Object2 dibuat, Object1 tidak akan dapat mengimplementasikan fungsinya. Bagaimana cara menghentikan kecanduan? “Menyuntikkan” referensi ke objek Object2 ke dalam objek Object1 melalui konstruktor atau penyetel. Proses ini sebenarnya adalah injeksi ketergantungan. Penting untuk diingat bahwa di Spring objek harus dibangun berdasarkan antarmuka, sehingga dependensi dimasukkan dalam bentuk antarmuka untuk kemungkinan penggantian implementasi selanjutnya.

  • Anda tidak perlu membuat objek secara manual menggunakan operator baru. Fungsi ini telah didelegasikan ke container Spring. Ini adalah inversion of control (IoC) - mentransfer fungsi untuk membuat instance dependensi (objek) yang diperlukan ke dalam container. Apa peran pengembang dalam semua pertanyaan Anda ini? Deklarasikan komponen agar masuk ke dalam konteks Spring. Sederhananya, konteks Spring adalah peta tempat semua kacang berada. Ketika mereka mengatakan bahwa kacang ada dalam konteks Musim Semi, anggaplah kacang itu ada di peta, dan Spring mengetahui kunci untuk mendapatkannya dari peta. Segala sesuatu yang ditandai sebagai kacang dalam konfigurasi xml atau di kelas dengan anotasi @Component dipakai dan ditempatkan dalam peta dalam bentuk Map<key,bean> map, yaitu. kontainer memiliki peta di mana ia “menyimpan” semua kacang (konsep kunci di Spring adalah kacang, ini adalah entitas yang dikelola oleh wadah. Agar kacang (kelas biasa) dapat dikelola, ia harus masuk ke dalam Konteks pegas.) dan, jika perlu, implementasi, wadah akan melakukan sesuatu seperti ini: map.get(kunci), kuncinya adalah jenis bidang;

  • Musim semi membebaskan Anda tidak hanya dari kebutuhan untuk membuat objek, tetapi juga untuk mengasosiasikannya. Misalnya, anotasi @Autowired memungkinkan Anda menyambungkan komponen secara otomatis. Anotasi pegas @Autowired dapat dijelaskan secara sederhana seperti ini: teman, wadah pegas, silakan lihat di peta Anda dengan kacang untuk melihat apakah Anda memiliki instance kelas atau implementasi dari apa yang saya hadapi. Jika ada, beri saya tautan di kolom yang sebelumnya saya nyatakan. Penautan otomatis memungkinkan Anda mengurangi jumlah kode saat menentukan ketergantungan komponen;

  • Di Spring, pengaturan kacang dipisahkan dari kode program. Memindahkan konfigurasi (manajemen ketergantungan) ke dalam file terpisah memudahkan perubahan selanjutnya dalam proyek (menggantikan implementasi):


    • peningkatan kemampuan pengujian. Ketika kelas dirancang berdasarkan DI dan antarmuka, ketergantungan (dengan implementasi palsu) dapat dengan mudah diganti selama pengujian;

    • kemampuan memprogram dalam gaya deklaratif menggunakan anotasi mengurangi jumlah kode dalam aplikasi;

    • dukungan dan integrasi yang baik dengan teknologi akses data, transaksi, AOP menyederhanakan pengembangan;

    • dokumentasi yang baik sangat membantu saat men-debug aplikasi;
Bagi yang ingin memahami Spring, saya sarankan membaca K. Walls. Spring in Action - Edisi ke-3 dan tentu saja dokumentasi resmi.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION