He visto muchos artículos sobre la integración de la primavera y la hibernación en Internet, pero debido a que esos artículos fueron escritos anteriormente, muchos de ellos eran versiones más antiguas como Spring 3 y Hibernate 4. Así que usaré la versión actualizada aquí para ilustrarlo.
Agregar dependencias del proyecto
En primer lugar, necesitamos un proyecto web Java, que es mejor usar herramientas de compilación Maven o Gradle para facilitar nuestras dependencias de software. Estoy usando la herramienta de compilación de Gradle aquí, el script de compilación es el siguiente. Mientras presentemos los dos paquetes de Spring-WebMVC y Spring-Germ, la herramienta de compilación resolverá automáticamente otras dependencias de resorte. Luego, también debe introducir dependencias como fuentes de datos, Hibernate, JSTL, etc. El script define una tarea para generar el archivo POM correspondiente para su uso fácil de Maven Tools.
grupo 'yitian.learn'version' 1.0-snapshot'Apply complemento: 'java'Apply plugin:' war'Apply plugin: 'maven'Apply desde:' https://raw.github.com/akhikhl/gretty/Master/pluginScripts/gretty.plugin'SourCecompatibility "http://maven.aliyun.com/nexus/content/groups/public/"} jcenter ()} ext {springversion = '4.3.6.release' aspectojverison = '1.8.10' Nombre: 'Spring-Webmvc', Versión: Grupo de compilación de SpringVersion: 'org.springframework', nombre: 'Spring-anm', Versión: Grupo de compilación SpringVersion: 'org.glassfish.web', nombre: 'jstl-vegetal', versión: '1.2' grupo compile: 'og.projectlombok', nombre: 'lombok', versión: '1.16.12' Group '' 'org.hibernate', nombre: 'hibernate-core', versión: '5.2.6.final' grupo de compilación: 'mysql', nombre: 'mysql-confonnector-java', versión: '5.1.40' grupo de compilar: 'Org.apache.commons', nombre: 'Commons-dBCP2', Version: 2.1.1.1 'COMPILE GRUP Nombre: 'AspectJWeaver', Version: SuppeJverison} Task WriteNewpom {dolast {pom {} .writeTo ("$ ProjectDir/Pom.xml")}}Configurar web.xml
Luego abra el archivo Web-Inf/Web.xml y agregue el siguiente contenido.
<? xml versión = "1.0" encoding = "utf-8"?> <web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaeeeeeeeeeeeeee-phig_3_1.xsd" Version = "3.1"> <textip-param> <AmamName> <amam-value> /webinf/applicationContext.xml </param-value> </ context-param> <servlet> <servlet-name> despachador </servlet-name> <ervlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <arbar-on-starCup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </oyente> </seb-app>
Configurar Spring
Debe haber dos archivos de configuración de Spring /webinf/applicationContext.xml y /webinf/dispatcher-servlet.xml. El primero es un archivo de configuración raíz, que se utiliza para configurar componentes de fondo y global, como bases de datos, y el segundo es un archivo de configuración de MVC, que se utiliza para configurar MVC y componentes relacionados con la web.
Luego en /web-inf/applicationContext.xml, configuramos los componentes que integran Hibernate y Spring. Necesitamos configurar la fuente de datos, HibernatesessionFactory, Hibernate Transaction Manager, Punto de conexión de transacciones, plantilla de hibernación y otros frijoles, y luego usar la plantilla de hibernato al manipular datos para obtener la función de gestión de transacciones controlada por Spring.
<? xml versión = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" "" "" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: context = "http://www.springframework.org/schema/schemt" " xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beanss.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> <!--Data Source--> <bean id="dataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="12345678"/> </bean> <!--hibernate--> <bean id="sessionFactory"> <property name = "DataSource" ref = "DataSource"/> <Property Name = "HibernateProperties"> <Props> <prot Key = "Hibernate.Format_Sql"> True </prop> <prot Key = "Hibernate.Show_Sql"> true </prop> <pT Key = "Hibernate.show_sql"> nue key = "hibernate.hbm2ddl.auto"> Crear </prop> </props> </propiedad> <Property Name = "PackageScan" Value = "yitian.learn.entity"/> </bean> <!-Establezca la plantilla de hibernación-> <bean id = "hibernateTeMplate"> <name de propiedad = "session" ref. < gestión-> <tx: consejo id = "txadvice" transaccion-ganager = "transaccionManager"> <tx: atributes> <tx: método name = "find*" read-Nly = "true"/> <tx: método name = "*"/> </tx: Atributes> </tx: consejo> <!-Estable id = "userDaOpointCut" Expression = "Ejecution (*yitian.learn.dao.*.*(..))"/> <aop: Advisor ASCESION-REF = "TXADVICE" PointCut-Ref = "UserDaOpointCut"/> </aop: config> </beans>
Luego configure los componentes de Spring Web MVC. Agregue la siguiente configuración en Dispatcher-Servlet.xml. Aquí agregamos JSP View Parser y Tipo de convertidor. Si no necesita una conversión de tipo personalizada, puede eliminar el fragmento correspondiente.
<? xml versión = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" "" "" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation http://www.springframework.org/schema/Beans/spring-Beans.xsd http://www.springframework.org/schema/mvc http://www.springfframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <mvc: ver--resolvers> <mvc: jsp prefix ="/webinf/jsp/"sufix =". ver-class = "org.springframework.web.servlet.view.jstlview"/> </mvc: ver-resolvers> <mvc: default-servlet-handler/> <mvc: annotation-drive-shiven-service = "conversionservice"/> <contexto: component-scan-compacke = "itian.learningningn"/> <service-service = "conversión" <Property name = "Converters"> <set> <Bean/> </set> </property> </le bean> </beans>
En este punto, la integración entre Hibernate y Spring se ha configurado completamente. Finalmente, escribí un pequeño ejemplo y lo puse en Github. Los estudiantes interesados pueden echar un vistazo.
Resumir
Lo anterior es toda la explicación detallada de la configuración de integración de Spring Web MVC e Hibernate en este artículo, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!