Saya telah melihat banyak artikel tentang integrasi musim semi dan hibernasi di internet, tetapi karena artikel -artikel itu ditulis sebelumnya, banyak dari mereka adalah versi yang lebih tua seperti Spring 3 dan Hibernate 4. Jadi saya akan menggunakan versi yang diperbarui di sini untuk mengilustrasikannya.
Tambahkan dependensi proyek
Pertama -tama, kita memerlukan proyek web Java, yang terbaik untuk menggunakan alat pembuatan maven atau lulusan untuk memfasilitasi ketergantungan perangkat lunak kami. Saya menggunakan alat Build Gradle di sini, skrip build adalah sebagai berikut. Selama kami memperkenalkan dua paket Spring-WEBMVC dan Spring-As, dependensi pegas lainnya akan secara otomatis diselesaikan oleh alat build. Maka Anda juga perlu memperkenalkan dependensi seperti sumber data, hibernate, jstl, dll. Skrip menentukan tugas untuk menghasilkan file POM yang sesuai untuk memudahkan penggunaan oleh alat Maven.
grup 'yitian.learn'version' 1.0-snapshot'apply plugin: 'java'apply plugin:' war 'plugin:' Maven'Apply dari: 'https://raw.github.com/akhikhl/grety/master/pluginscripts/gretty.plugin'pluugin {{{{{{{{{{{{{{{ "http://maven.aliyun.com/nexus/content/groups/public/"} jcenter ()} ext {springversion = '4.3.6.release' aspectjverison = '1.8.10'} {or -oreve or'.1. Nama: 'Spring-Webmvc', Versi: SpringVersion Compile Group: 'org.springframework', Nama: 'Spring-Ac', Versi: SpringVersion Compile Group: 'org.glassfish.web', nama: 'JSTL-IMPL', Versi: '1.2' Compile Group: 'Org.projectllomb', Versi: 'Version', '1,' 1.2 'Versi:' Version '1,' 1.2 'Version:' 1.2 '1,' 1.2, 'org.hibernate', nama: 'hibernate-core', Versi: '5.2.6. Final' grup kompilasi: 'mysql', nama: 'mysql-connector-java', versi: '5.1.40' compile grup: 'org.apache.commons', nama: 'commons-dbcp2', 'org.apache.commons', nama: 'commons-dbcp2', 'versi': 'org.apache.commons', nama: 'commons-dbcp2', 'versi': 'org 'AspectJweaver', Versi: AspectJVerison} Tugas WriteNewPom {Dolast {pom {} .writeto ("$ ProjectDir/pom.xml")}}Konfigurasikan web.xml
Kemudian buka file Web-INF/Web.xml dan tambahkan konten berikut.
<? Xml Version = "1.0" encoding = "utf-8"?> <web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http:/www.w3.org/2001 =" http:/www.w3.org/2001 = "http:/www.w3.org/2001 xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd Versi" versi = "3.1"> <param> <param> <param> <param> <param> <paren> <paren> <parpon> <par Param> <parpon> <par Param> <par Param> <parpon> <parpar> version> <parboc-parfocion> <param-value> /web-inf/applicationcontext.xml </param-value> </context-param> <servlet> <servlet-name> dispatcher </servlet-name> <servlet-class> org.springframework.web.servlet.dispatchlet </servlet> <loid-classis.web.web.servlet.dispatchlet </servlet> <loid-classis.web <Sinync-Supported> true </Supported> </servlet> <servlet-papping> <servlet-name> Dispatcher </servlet-name> <r listener>/</rumpatpats.weB.context> <listener> <listener-class> org.springFramework.weB.context> <listener> <listener> </engeaner> </spapp>
Konfigurasikan pegas
Harus ada dua file konfigurasi pegas /web-inf/applicationContext.xml dan /web-inf/dispatcher-servlet.xml. Yang pertama adalah file konfigurasi root, yang digunakan untuk mengkonfigurasi komponen back-end dan global seperti database, dan yang terakhir adalah file konfigurasi MVC, yang digunakan untuk mengonfigurasi komponen MVC dan terkait web.
Kemudian di /web-inf/applicationContext.xml, kami mengkonfigurasi komponen yang mengintegrasikan hibernate dan spring. Kita perlu mengonfigurasi sumber data, HibernatesessionFactory, Hibernate Transaction Manager, titik koneksi transaksi, templat hibernasi dan kacang lainnya, dan kemudian menggunakan templat hibernasi saat memanipulasi data untuk mendapatkan fungsi manajemen transaksi yang dikendalikan oleh pegas.
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: context = "http:/schaMa/aop" xmlns: context = "http:/schaMa.aop" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-leans.xsd http://wwww.springframework.org/orga http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.spramework.org/schema/aop.spring http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <konteks: annotation-config/<!-Sumber data-> <Konteks: "-konfigasi "-pethig/<! name = "driverclassName" value = "com.mysql.jdbc.driver"/> <name properti = "url" value = "jdbc: mysql: // localhost: 3306/test"/> <name properti = "name" value = "root"/<properti nama = "kata sandi" value = "123456 id="sessionFactory"> <property name="dataSource" ref="dataSource"/> <property name="hibernateProperties"> <props> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.show_sql">true</prop> <prop key = "hibernate.hbm2ddl.auto"> create </prop> </props> </prop Property- name = "packagestoscan" value = "yitian.learn.entity"/> </ bean> <!-atur name = "Sesion" Sesi = "Sesion" </bean> <!--Set hibernate transaction manager--> <bean id="transactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!--Set hibernate transaction manager--> <bean id="transactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!--Data access object--> <bean id="userDao"/> <!--Set transaction management--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="find*" read-only="true"/> <tx:method name="*"/> </tx:attributes> </tx:advice> <!--Set transaction management with AOP--> <AOP: config> <aop: pointcut id = "userdaopointcut" ekspresi = "eksekusi (*yitian.learn.dao.*.*(..))"/> <aop: advisor nasihat-ref = "txadvice" pointcut-ref = "userdaopointcut"/</aop> configcut = "UsusdaOpointCut"/</aop> configrice "BUSEANS>
Kemudian konfigurasikan komponen Spring Web MVC. Tambahkan konfigurasi berikut di dispatcher-servlet.xml. Di sini kami menambahkan parser tampilan JSP dan ketik konverter. Jika Anda tidak perlu mengetik konversi khusus, Anda dapat menghapus fragmen yang sesuai.
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http:smema http://www.springframework.org/schema/beans/spring-leans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/sppc/spramework.org/schema/mvc/spc/spramc http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <mvc: view/" jsps = "jspring-context." view-class="org.springframework.web.servlet.view.JstlView"/> </mvc:view-resolvers> <mvc:default-servlet-handler/> <mvc:annotation-driven conversion-service="conversionService"/> <context:component-scan base-package="yitian.learn"/> <bean ID = "ConversionService"> <Properti Nama = "Converters"> <set> <bean/> </atur> </prop Propert> </ bean> </tean>
Pada titik ini, integrasi antara Hibernate dan Spring telah sepenuhnya dikonfigurasi. Akhirnya, saya menulis contoh kecil dan menaruhnya di GitHub. Siswa yang tertarik dapat melihatnya.
Meringkaskan
Di atas adalah semua penjelasan terperinci tentang konfigurasi integrasi Spring Web MVC dan Hibernate dalam artikel ini, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!