1. Prinsip Musim Semi
Inti paling dalam adalah IOC. Injeksi dinamis membuatnya tidak perlu membuat objek, dan dapat diproduksi secara otomatis. Ini sebenarnya menggunakan refleksi di java. Refleksi sebenarnya untuk membuat dan memanggil objek secara dinamis saat runtime. Spring adalah untuk secara dinamis membuat objek dan memanggil metode di objek saat runtime, dengan file konfigurasi XMLSPRING.
Spring memiliki inti lain, AOP, yang merupakan pemrograman berorientasi aspek, dapat mengawasi dan mengontrol jenis objek tertentu (yaitu, memanggil modul yang Anda tentukan sebelum dan sesudah memanggil metode spesifik dari jenis objek ini) untuk mencapai fungsi memperluas modul. Ini dicapai melalui kelas konfigurasi.
Tujuan Musim Semi: Untuk membuat hubungan antara objek (modul dan modul) tidak terkait melalui kode, dan semuanya dikelola melalui deskripsi kelas konfigurasi (Spring secara dinamis merakit objek melalui refleksi berdasarkan konfigurasi ini)
Ingat: Spring adalah wadah, dan hanya objek dalam wadah yang memiliki layanan dan fungsi yang disediakan oleh Spring.
Pola desain paling klasik yang digunakan di musim semi adalah: pola metode template. (Saya tidak akan memperkenalkannya di sini, ini adalah pola desain yang sangat umum digunakan). Ada banyak konfigurasi di musim semi, yang sulit diingat, tetapi esensi musim semi tidak lebih dari dua poin di atas. Setelah memahami dua poin di atas, pada dasarnya Anda akan menguasai musim semi.
Springing dan IOC
1. IOC (InversionOfControl): Control Inversion
1. IOC:
Konsep: Kontrol ditransfer dari objek itu sendiri ke wadah; Wadah membuat instance berdasarkan file konfigurasi dan membuat dependensi antara setiap instance.
Inti: Pabrik Bean; Di musim semi, berbagai contoh yang dibuat oleh pabrik kacang disebut kacang
2. AOP (pemrograman berorientasi aspek): pemrograman berorientasi aspek
1. Dua cara proxy:
Proxy statis:
Tulis kelas proxy untuk setiap kelas tertentu;
Menulis kelas proxy untuk antarmuka;
Proxy Dinamis:
Tuliskan AvocationHandler untuk satu aspek, dan kemudian pinjam kelas proxy dalam paket refleksi JDK untuk secara dinamis menghasilkan kelas proxy yang sesuai untuk berbagai antarmuka.
2. Dinamis Proxy:
Tidak perlu menulis kelas proxy. Mesin virtual menghasilkan kelas berdasarkan antarmuka yang diimplementasikan oleh objek nyata. Ini membuat proxy dinamis melalui kelas. Saat instantiasi proxy dinamis, objek dan peralatan yang sebenarnya disuntikkan ke proxy dinamis. Proxy dinamis memperlihatkan proxy dinamis. Ketika klien memanggil metode proxy dinamis, proxy dinamis memperoleh metode objek nyata berdasarkan refleksi kelas, memanggil metode Invoke peralatan, dan melewati proxy dinamis, metode, dan parameter metode ke metode Invoke peralatan. Metode Invoke melakukan beberapa pemrosesan sebelum atau sesudah membangkitkan metode metode.
1. Kelas yang menghasilkan proxy dinamis:
java.lang.refect.Proxy
2. Peralatan harus mengimplementasikan antarmuka InvocationHandler untuk mengimplementasikan metode Invoke
3. Refleksi
Apa itu rabat kelas?
Melalui deskripsi kelas, Anda dapat memperoleh kelas induk kelas, antarmuka yang diimplementasikan, kelas internal, konstruktor, metode, dan atribut. Anda dapat membuat instantiasi objek sesuai dengan konstruktor, membangkitkan metode, mengambil nilai atribut, dan mengubah nilai atribut. Cara Mendapatkan Deskripsi Kelas:
Class cls = class.class; Kelas cls = object.getClass (); Class.forname ("classpath");Bagaimana cara mendapatkan metode dan membangkitkannya?
Class cls = class.class; Constructor cons = cls.getConstructor (kelas baru [] {string.class}); Objek obj = cons.newInstance (objek baru [] {"aaa"}); Metode metode = cls.getMethod ("nama metode", kelas baru [] {string.class, integer.class}); method.invoke (obj, objek baru [] {"aa", integer baru (1)}); 4. Apa tiga metode injeksi musim semi?
Setter
antarmuka
konstruktor
5. Apa antarmuka inti dan file konfigurasi kernel dari Spring?
FactoryBean: Kacang pabrik terutama mengimplementasikan IOC/DI ApplicationContext ac = new FileXmlappLicationContext ("ApplicationContext.xml"); Objek obj = ac.getBean ("nilai id");6. 7 Modul Kerangka Musim Semi
Kerangka kerja pring adalah arsitektur hierarkis yang terdiri dari 7 modul yang terdefinisi dengan baik. Modul pegas dibangun di atas wadah inti, yang mendefinisikan bagaimana kacang dibuat, dikonfigurasi, dan dikelola. Setiap modul (atau komponen) yang membentuk kerangka pegas dapat ada sendiri atau diimplementasikan bersama dengan satu atau lebih modul lainnya. Fungsi setiap modul adalah sebagai berikut:
Core Container: Core Container menyediakan fungsi dasar dari kerangka kerja Spring. Komponen utama dari wadah inti adalah beanfactory, yang merupakan implementasi dari pola pabrik. BeanFactory menggunakan mode inversi kontrol (IOC) untuk memisahkan spesifikasi konfigurasi dan ketergantungan aplikasi dari kode aplikasi yang sebenarnya.
Konteks Musim Semi: Konteks Spring adalah file konfigurasi yang menyediakan informasi konteks ke kerangka kerja Spring. Konteks musim semi mencakup layanan perusahaan seperti JNDI, EJB, email, internasionalisasi, kemampuan penjadwalan checksum.
Spring AOP: Melalui fitur manajemen konfigurasi, modul Spring AOP secara langsung mengintegrasikan fungsi pemrograman yang berorientasi aspek ke dalam kerangka kerja Spring. Oleh karena itu, mudah untuk membuat objek apa pun dikelola oleh Spring Framework Dukungan AOP. Modul AOP Spring menyediakan layanan manajemen transaksi untuk objek dalam aplikasi berbasis musim semi. Dengan menggunakan Spring AOP, manajemen transaksi deklaratif dapat diintegrasikan ke dalam aplikasi tanpa mengandalkan komponen EJB.
Spring DAO: Lapisan abstraksi JDBC DAO menyediakan hierarki pengecualian yang bermakna yang dapat digunakan untuk mengelola penanganan pengecualian dan pesan kesalahan yang dilemparkan oleh vendor basis data yang berbeda. Hirarki pengecualian menyederhanakan penanganan kesalahan dan sangat mengurangi jumlah kode pengecualian yang perlu ditulis (seperti koneksi pembukaan dan penutupan). Pengecualian yang berorientasi pada JDBC Spring Dao mengikuti hierarki pengecualian DAO umum.
Spring ORM: Kerangka kerja Spring menyisipkan beberapa kerangka kerja ORM, sehingga menyediakan alat hubungan objek ORM, termasuk peta JDO, Hibernate, dan Ibatis SQL. Semua ini mengikuti transaksi umum Spring dan hierarki pengecualian DAO.
Modul Web Spring: Modul konteks web dibangun di atas modul konteks aplikasi dan menyediakan konteks untuk aplikasi berbasis web. Oleh karena itu, kerangka kerja musim semi mendukung integrasi dengan Jakarta Struts. Modul Web juga menyederhanakan pekerjaan penanganan permintaan multi-bagian dan parameter permintaan yang mengikat ke objek domain.
Kerangka MVC Spring: Kerangka kerja MVC adalah implementasi MVC yang berfungsi penuh untuk membangun aplikasi web. Melalui antarmuka kebijakan, kerangka kerja MVC menjadi sangat dapat dikonfigurasi, dan MVC menampung sejumlah besar teknologi tampilan, termasuk JSP, kecepatan, ubin, ITEXT, dan POI.
Kemampuan Spring Framework dapat digunakan di server J2EE mana pun, dan kebanyakan dari mereka cocok untuk lingkungan yang tidak dikelola. Titik inti musim semi adalah: dukungan untuk objek akses bisnis dan data yang dapat digunakan kembali yang tidak terikat pada layanan J2EE tertentu. Tidak ada keraguan bahwa objek tersebut dapat digunakan kembali antara lingkungan J2EE yang berbeda (Web atau EJB), aplikasi mandiri, lingkungan pengujian.
Meringkaskan
Di atas adalah semua isi artikel ini tentang eksplorasi sederhana dari prinsip kerja Spring, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke situs ini:
Spring Framework Berbagi Kode Praktis Web
Konfigurasi Umum dan Analisis Deskripsi Kelas Spring
Implementasi Pemrograman Java Contoh Login Sederhana SpringMVC
Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!