Kata pengantar
Sebelum memperkenalkan instantiasi kacang, pertama -tama kita perlu memperkenalkan apa itu kacang dan cara mengkonfigurasi kacang.
Jika musim semi dianggap sebagai pabrik besar, maka kacang dalam wadah musim semi adalah produk dari pabrik itu. Untuk menggunakan Spring Factory untuk memproduksi dan mengelola kacang, Anda perlu menentukan dalam file konfigurasi yang dibutuhkan kacang dan cara merakitnya bersama.
Spring Container mendukung dua format file konfigurasi, yaitu format file properti dan format file XML. Dalam pengembangan aktual, jumlah yang paling umum digunakan adalah format file XML. Oleh karena itu, dalam penjelasan berikut, kami akan menjelaskan metode konfigurasi format file XML. Elemen root dari file konfigurasi XML adalah <Bacs>, yang dapat berisi beberapa elemen anak <Bean>, setiap elemen anak mendefinisikan kacang dan menjelaskan bagaimana kacang harus dirakit menjadi wadah pegas. Properti dalam elemen <sean> adalah sebagai berikut:
Dalam file konfigurasi, biasanya kacang biasa hanya perlu menentukan dua atribut: ID dan kelas. Cara untuk mendefinisikan kacang adalah sebagai berikut:
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype Beans Public "-// Spring // dtd bean // en" "http://www.springframework.org/dtd/spring-bean.dtd" <beans> <!-configure the spesifik id = "userdao"/> <bean name = "userdao1, userdao2"/> </tacer>
Dalam kode di atas, dua kacang didefinisikan menggunakan atribut ID dan nama, dan kelas implementasi yang sesuai ditentukan menggunakan elemen kelas. Jika ID dan namanya tidak ditentukan, Spring akan menggunakan nilai kelas sebagai ID.
Empat cara untuk instantiate kacang di musim semi
Artikel ini terutama memperkenalkan empat cara untuk instantiate kacang (metode injeksi) atau empat cara untuk mengandalkan instantiasi objek. Program di atas menggunakan metode membuat objek kacang, dan menggunakan metode konstruktor (Spring dapat membuat objek kelas di bawah privatisasi konstruktor)
Ada empat metode penciptaan umum:
1) Metode Setter
2) Konstruktor
3) Pabrik statis
4) Contoh Pabrik
1. Gunakan metode setter
antarmuka publik iuserdao {void adduser (); void deluser (); void updateUser (); } Public Class UsusdaoImpl mengimplementasikan iuserdao {public void addUser () {System.out.println ("Metode AddUser disebut"); } public void deluser () {System.out.println ("Metode deluser disebut"); } public void updateUser () {System.out.println ("Metode UpdateAser disebut"); } Public Class UserAction {private iuserdao dao; // DAO adalah objek ketergantungan yang perlu dikelola oleh SpringG dan menghasilkan metode Get Set public void execute () {dao.adduser (); dao.updateuser (); dao.deluser (); }}// file konfigurasi <name bean = "useraction_name"> <name properti = "dao" ref = "userdao_name" /> // namanya direferensikan di bawah ini < /bean> <bean name = "userdao_name" />
// uji classpathxmlapplicationContext ctx = new classpathxmlapplicationContext ("beans.xml"); UserAction action = (useraction) ctx.getBean ("useraction_name"); action.execute ();2. Fungsi Konstruktor
Public Class UserAction {// UserAction Public () {} Anda dapat menyimpan konstruktor tanpa parameter // ini adalah beberapa dependensi, dan tidak perlu menghasilkan metode UserInfo Metode Get Set Private; sekolah string pribadi; private iuserdao dao; // Saya harap Spring menyuntikkan objek ketergantungan pengguna publik (iuserdao dao, userInfo user, string School) {this.dao = dao; this.school = sekolah; this.user = pengguna; } public void execute () {dao.adduser (); dao.updateuser (); dao.deluser (); System.out.println (pengguna); System.out.println (sekolah);}// File Konfigurasi <name bean = "userInfo_name"> <name properti = "id" value = "1" /> <name properti = "nama pengguna" value = "mingguan" /> <nama properti = "kata sandi" value = "123" /> <nama properti = "note" nilai "ini adalah catatan" /< /bean> <bean name = "name =" nextice = "Ini adalah catatan" /< /bean> <bean name = "user" nextice = "ini adalah catatan" /< /bean> <bean name = "=" name = name "ini adalah catatan" /< /bean> <bean name = "=" name = "name- name "- nOLETE" /< /< /bean> <bean name = "User =" name = name "note note" /< /bean> <bean name = "User =" neube "neacte" /> <konstruktor-arg ref = "userInfo_name" /> <constructor-arg value = "Harbin Normal University" /> </ bean> /*Anda juga dapat menentukan indeks dan mengetik properti, baik indeks maupun tipe tidak dapat ditentukan <bean name = "useraction_name"> <konstruktor-arg index = "0" ref = "Userda =" UserAction_name "> <konstruktor-arg index =" 0 "ref =" Userda = ""ne"> <"cat-Arg index =" 0 "Ref =" Userda = "" "" "" "" "" "" UserAction_name "> <konstruktor-arg index =" 0 "ref =" userda "ifeo =" "cat" Ini adalah antarmuka, tidak dapat ditentukan untuk jenis kelas implementasi. <constructor-arg index = "1" ref = "userInfo_name" type = "cat.beans.userinfo" /> <konstruktor-arg index = "2" value = "harbin normal universitas" /> < /bean>* /<bean name = "userda =" Userda =a normal " /> < /bean>* /<bean name =" userda = "Userda =a normal" /> < /bean>* /<bean name = "userda =" Userda =ea "nne "/ny /< /bean>* /<bean name =" userda = "USERDA "NO" /n
// uji classpathxmlapplicationContext ctx = new classpathxmlapplicationContext ("beans.xml"); UserAction action = (useraction) ctx.getBean ("useraction_name"); action.execute ();3. Metode Pabrik Statis
// Pabrik, kelas implementasi yang digunakan untuk menghasilkan DAO Public Class Userdaofactory {public static iuserdao createUserdaoinStance () {return new UsusdaooracleImpl (); }} Public Class UserAction {private iuserdao dao; // Gunakan metode pabrik untuk memperhatikan nilai, dan juga menghasilkan metode yang ditetapkan public void execute () {dao.adduser (); dao.updateuser (); dao.deluser ();} public void setdao (iuserdao dao) {this.dao = dao; }}// File Konfigurasi <name bean = "useraction_name"> <name properti = "dao" ref = "userdao_name" /> </ bean> <name bean = "userdao_name" factory-method = "createUserdaoinstance" />
// uji classpathxmlapplicationContext ctx = new classpathxmlapplicationContext ("beans.xml"); UserAction action = (useraction) ctx.getBean ("useraction_name"); action.execute ();Iv. Contoh pabrik
// factory => kelas publik userdaofactory {// metode ini bukan iuserdao publik statis createUserdaoinstance () {return new userdaooracleImpl (); }}// File Konfigurasi <name bean = "useraction_name"> <name properti = "dao" ref = "userdao_name" /> </ bean> <bean name = "userdaofactory_name" /> <bean name = "userdao_name" factory-bean = "userdaofactory_name" fachracory "pabrikan =" factore "factore =" Userdaofactory_name "factore" fachod = "Userdaofactory_name" fachod = "fachod =" fachod = "Userdaofactory_name" factore = "fachod" factore = "Userdao" factore = "UserDao" factore = "UserdaOfactori
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.