Eu já vi muitos artigos sobre a integração de Spring e Hibernate na Internet, mas como esses artigos foram escritos anteriormente, muitos deles eram versões mais antigas, como Spring 3 e Hibernate 4. Então, usarei a versão atualizada aqui para ilustrá -la.
Adicione dependências do projeto
Primeiro de tudo, precisamos de um projeto da Web Java, que é melhor usar ferramentas de construção do Maven ou Gradle para facilitar nossas dependências de software. Estou usando a ferramenta de construção gradle aqui, o script de construção é o seguinte. Enquanto introduzirmos os dois pacotes de Spring-WebMVC e Spring-Atorm, outras dependências de mola serão resolvidas automaticamente pela ferramenta Build. Em seguida, você também precisa introduzir dependências como fontes de dados, hibernate, jstl etc. O script define uma tarefa para gerar o arquivo POM correspondente para facilitar o uso pelas ferramentas do MAVEN.
Grupo 'yitian.learn'version' 1.0-SNAPSHOT'APPLY Plugin: 'Java'Apply Plugin:' War'Apply Plugin: 'maven'apply de:' https://raw.github.com/akhikhl/gretty/master/pluginscripts/gretty.plugin'soursursoursursoursursoursousours.soursours.soursousours.soursousours.soumects.soursousours.sursoursousours.sursours.soumectsursousours.sourps.surginsours.sursours.sours.sours.sourps: url "http://maven.aliyun.com/nexus/content/groups/public/"} jcenter ()} ext 'org.springframework', nome: 'spring-webmvc', versão: grupo de compilos de springversion: 'org.springframework', nome: 'spring -form', versão: springversion compile Group: 'org.glassfish.web', name: 'jgl-impl', versão: '1.2' compile '1.16.12' Grupo de compilação: 'org.hibernate', nome: 'hibernate-core', versão: '5.2.6.Final' Grupo: 'mysql', nome: 'mysql-connector-java', versão: '5.1.40 Grupo-D:' Orgache.Commons,, Nome: '5.1.40' 'org.aspectj', nome: 'aspectojweaver', versão: aspectojverison} writenewpom {dolast {pom {} .WritEto ("$ projectDir/pom.xml")}}Configure web.xml
Em seguida, abra o arquivo web-inf/web.xml e adicione o seguinte conteúdo.
<? xml versão = "1.0" coding = "utf-8"?> <web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http:/wwwwwwww.w.w3.org/2001/1xmlns: xsi =" http:/wwwwwwwwwwwwww.w.w3.org/200: xsi ... xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_1.xsd" = "3.1">>> <xtembeee/web-pp_pul_1.xsd "=" 3.1 ">>> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> <sync-suportted> true </sync-supported> </servlet> <Servlet-mapping> <Servlet-name> Dispatcher </servlet-name> <url-pattern>/</url-pattern> </servlet-Mapping> <vocente--class-class> org.sprestringfistwerweb.web.webcond.webcond.webcont> <vocener-class> orxtroxtomlwebk.webcond.webcont> </lister> </web-app>
Configure a primavera
Deve haver dois arquivos de configuração de primavera /web-inf/applicationContext.xml e /web-inf/dispatcher-servlet.xml. O primeiro é um arquivo de configuração root, usado para configurar componentes de back-end e global, como bancos de dados, e este último é um arquivo de configuração do MVC, usado para configurar o MVC e os componentes relacionados à Web.
Em seguida, em /web-inf/applicationContext.xml, configuramos os componentes que integram o hibernato e a primavera. Precisamos configurar a fonte de dados, o HibernatesessionFactory, o Hibernate Transaction Manager, o ponto de conexão da transação, o modelo de hibernato e outros feijões e, em seguida, usar o modelo de hibernato ao manipular dados para obter a função de gerenciamento de transações controlada pela mola.
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-bans.xsd http://wwwwwwwwwwwwwwww.a 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 "> <Contextation-config/> <!-Data-> <ean idi" name = "driverclassName" value = "com.mysql.jdbc.driver"/> <propriedade name = "url" value = "jdbc: mysql: // localhost: 3306/teste"/> <nome da propriedade = "nome de usuário" Value = "root"/> <names "<dound =!! id = "sessionFactory"> <propriedade name = "DataSource" ref = "DataSource"/> <propriedade name = "hibernateProperties"> <ports> <props key = "hibernate.format_sql"> true </prop> <p key = "hibernate.show_sql"> true </prop> </prop> </prop> </prop> key = "hibernate.hbm2ddl.auto"> crie </sprily </props> </property> <propriedade name = "packAgestoscan" value = "yitian.learn.entity"/> </bean> <!-set hibernate modelo-> <bean id = "hibernatetemplate"> <! <!--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"/> <!-Defina o gerenciamento de transações-> <tx: conselhos id = "txadvice" transaction-manager = "transactionManager"> <tx: atributes> <tx: método name = "find*" read -ly = "true"/> <tx: nome do método = "*"/> </tx: ATRIBUTOS> </tx: conselhos> <! id = "userDaOpointCut" Expression = "Execution (*yitian.learn.dao.*.*(..))"/> <AOP: consultor conselhos-ref = "txadvice" pointcut-ref = "userdaOpointcut"/> </aOp: config> </beans>
Em seguida, configure os componentes do Spring Web MVC. Adicione a seguinte configuração no Dispatcher-Servlet.xml. Aqui adicionamos o analisador de visualização JSP e o conversor de tipos. Se você não precisar de conversão de tipo personalizado, poderá excluir o fragmento correspondente.
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans O http://www.springframework.org/schema/Context http://www.springframework.org/schema/Context/spring-context.xsd "> <mvc: view-solvers> <mvc: jsp prefix =" view-class = "org.springframework.web.servlet.view.jstlview"/> </mvc: view-resolvers> <mvc: default-servlet-handler/> <mvc: base-packear-packlearning. <propriedade name = "conversores"> <Set> <bean/> </set> </propriedade> </i bean> </beans>
Neste ponto, a integração entre hibernato e primavera foi totalmente configurada. Finalmente, escrevi um pequeno exemplo e o coloquei no Github. Os alunos interessados podem dar uma olhada.
Resumir
O exposto acima é toda a explicação detalhada da configuração de integração do MVC da Spring Web e Hibernate neste artigo, espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!