JavaRush /Blog Java /Random-MS /Faedah menggunakan Spring
Alex
Tahap

Faedah menggunakan Spring

Diterbitkan dalam kumpulan
Ramai pembangun baru lambat laun menemui Spring , rangka kerja yang popular untuk membangunkan aplikasi dalam Java. Perkara utama yang Spring membenarkan anda lakukan adalah untuk memudahkan pembangunan aplikasi J2EE untuk pembangun. Berikut ialah faedah utama yang diperoleh pembangun apabila menggunakan Spring:
Faedah menggunakan Spring - 1
  • Spring menyediakan rangka kerja untuk aplikasi masa hadapan anda, jika anda mahukan "kosong" untuk aplikasi masa hadapan anda. Pada masa yang sama, rangka kerja menentukan peraturan untuk membina aplikasi - terdapat seni bina aplikasi tertentu yang anda perlukan untuk membina fungsi anda. Fungsi ini sebenarnya akan menjadi logik perniagaan aplikasi anda. Spring termasuk banyak subprojek yang disesuaikan dengan fungsi tertentu (SpringMVC, Spring Security, SpringData, dll. senarai penuh boleh dilihat di https://spring.io/projects ), yang mana pembangun boleh memilih yang paling sesuai untuknya dan jangan gunakan selebihnya - ini adalah prinsip modular untuk membina aplikasi;

  • Dalam aplikasi berasaskan Spring, objek digandingkan secara longgar melalui penggunaan suntikan pergantungan. Salah satu matlamat Spring adalah untuk memecahkan pergantungan beberapa objek pada yang lain. Apakah ketagihan? Ini adalah apabila Object1 menggunakan kaedah Object2 lain, iaitu Object1 bergantung pada Object2, yang kaedahnya digunakan. Kenapa dia bergantung? Tetapi kerana sehingga objek Object2 dicipta, Object1 tidak akan dapat melaksanakan fungsinya. Bagaimana untuk menghentikan ketagihan? "Suntikan" rujukan kepada objek Object2 ke dalam objek Object1 melalui pembina atau penetap. Proses ini sebenarnya adalah suntikan pergantungan. Adalah penting untuk diingat bahawa dalam Spring objek mesti dibina berdasarkan antara muka, supaya kebergantungan disuntik dalam bentuk antara muka untuk kemungkinan penggantian pelaksanaan berikutnya.

  • anda tidak perlu mencipta objek secara manual menggunakan operator baharu. Fungsi ini telah diwakilkan kepada bekas Spring. Ini ialah penyongsangan kawalan (IoC) - memindahkan fungsi membuat instantiating kebergantungan yang diperlukan (objek) ke bekas. Apakah peranan pembangun dalam semua ini yang anda tanya? Isytiharkan komponen supaya ia termasuk dalam konteks Spring. Konteks musim bunga, secara ringkasnya, ialah peta di mana semua kacang berada. Apabila mereka mengatakan bahawa kacang adalah dalam konteks Spring, pertimbangkan bahawa kacang itu berada dalam peta, dan Spring mengetahui kunci untuk mendapatkannya daripada peta. Semua yang ditandakan sebagai kacang dalam konfigurasi xml atau dalam kelas dengan anotasi @Component dimaklumkan dan diletakkan dalam peta dalam bentuk peta Map<key,bean>, i.e. bekas mempunyai peta di mana ia "menyimpan" semua kacang (konsep utama dalam Spring ialah kacang, ini ialah entiti yang diuruskan oleh bekas. Agar kacang (kelas biasa) diuruskan, ia mesti jatuh ke dalam Konteks musim bunga.) dan, jika perlu, pelaksanaan, bekas melakukan sesuatu seperti ini: map.get(key), kuncinya ialah jenis medan;

  • Spring membebaskan anda bukan sahaja daripada keperluan untuk mencipta objek, tetapi juga untuk mengaitkannya. Contohnya, anotasi @Autowired membolehkan anda mendawai komponen secara automatik. Anotasi musim bunga @Autowired boleh diterangkan secara ringkas seperti ini: rakan yang dikasihi, bekas musim bunga, sila lihat dalam peta anda dengan kacang untuk melihat sama ada anda mempunyai contoh kelas atau pelaksana perkara yang saya berdiri di hadapan. Jika ada, berikan saya pautan dalam medan yang sebelum ini saya diisytiharkan. Pemautan automatik membolehkan anda mengurangkan jumlah kod semasa menentukan kebergantungan komponen;

  • Dalam Spring, tetapan kacang dipisahkan daripada kod program. Mengalihkan konfigurasi (pengurusan pergantungan) ke dalam fail berasingan memudahkan perubahan seterusnya dalam projek (menggantikan pelaksanaan):


    • kebolehujian yang lebih baik. Apabila kelas direka bentuk berdasarkan DI dan antara muka, ia menjadi mungkin untuk menggantikan kebergantungan (dengan pelaksanaan palsu) dengan mudah semasa ujian;

    • keupayaan untuk memprogram dalam gaya deklaratif menggunakan anotasi mengurangkan jumlah kod dalam aplikasi;

    • sokongan dan integrasi yang baik dengan teknologi akses data, transaksi, AOP memudahkan pembangunan;

    • dokumentasi yang baik banyak membantu semasa menyahpepijat aplikasi;
Bagi mereka yang ingin memahami Spring, saya syorkan membaca K. Walls. Spring in Action - Edisi Ke-3 dan sudah tentu dokumentasi rasmi.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION