激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Spring Web MVC和Hibernate的集成配置詳解

Spring Web MVC和Hibernate的集成配置詳解

2021-03-13 11:56過了即是客 JAVA教程

這篇文章主要介紹了Spring Web MVC和Hibernate的集成配置詳解,具有一定借鑒價值,需要的朋友可以參考下

網上看到很多關于SpringHibernate的集成的文章,奈何由于那些文章寫作時間較早,很多都是Spring 3 和Hibernate 4等較舊的版本。所以我在這里使用更新的版本來說明一下。

添加項目依賴

首先我們需要一個Java Web項目,最好使用Maven或Gradle構建工具,方便我們解決軟件依賴。我在這里使用Gradle構建工具,構建腳本如下。我們只要引入spring-webmvc和spring-orm這兩個包,其他的Spring依賴會自動由構建工具解決。然后還需要引入數據源、Hibernate、JSTL等依賴項。腳本的最后定義了一個任務用于生成對應的pom文件方便Maven工具使用。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
group 'yitian.learn'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'maven'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
sourceCompatibility = 1.8
repositories {
  maven {
    url "http://maven.aliyun.com/nexus/content/groups/public/"
  }
  jcenter()
}
ext {
springVersion = '4.3.6.RELEASE'
  aspectjVerison = '1.8.10'
}
dependencies {
  testCompile group: 'junit', name: 'junit', version: '4.12'
  compile group: 'org.springframework', name: 'spring-webmvc', version: springVersion
  compile group: 'org.springframework', name: 'spring-orm', version: springVersion
  compile group: 'org.glassfish.web', name: 'jstl-impl', version: '1.2'
  compile group: 'org.projectlombok', name: 'lombok', version: '1.16.12'
  compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.6.Final'
  compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.40'
  compile group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.1.1'
  compile group: 'org.aspectj', name: 'aspectjweaver', version: aspectjVerison
}
task writeNewPom {
  doLast {
    pom {
    }.writeTo("$projectDir/pom.xml")
}
}

配置web.xml

然后打開WEB-INF/web.xml文件,添加以下內容。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="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/javaee/web-app_3_1.xsd"
     version="3.1">
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <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>
    <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>
  </listener>
</web-app>

配置Spring

相對應的應該有兩個Spring配置文件/WEB-INF/applicationContext.xml和/WEB-INF/dispatcher-servlet.xml。前者是根配置文件,用于配置數據庫等后端、全局的組件,后者是MVC配置文件,用于配置MVC和Web相關的組件。

然后在/WEB-INF/applicationContext.xml中,我們配置Hibernate和Spring集成的組件。我們需要配置數據源、HibernateSessionFactory、Hibernate事務管理器、事務連接點、Hibernate模板等Bean,然后在操作數據的時候使用Hibernate模板,就能獲得Spring控制的事務管理功能了。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?xml version="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/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.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/>
  <!--數據源-->
  <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" 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" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <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.hbm2ddl.auto">create</prop>
      </props>
    </property>
    <property name="packagesToScan" value="yitian.learn.entity"/>
  </bean>
  <!--設置hibernate模板-->
  <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory"/>
  </bean>
  <!--設置hibernate事務管理器-->
  <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
  </bean>
  <!--數據訪問對象-->
  <bean id="userDao" class="yitian.learn.dao.HibernateUserDao"/>
  <!--設置事務管理-->
  <tx:advice id="txAdvice"
        transaction-manager="transactionManager">
    <tx:attributes>
      <tx:method name="find*" read-only="true"/>
      <tx:method name="*"/>
    </tx:attributes>
  </tx:advice>
  <!--使用AOP設置事務管理-->
  <aop:config>
 
    <aop:pointcut id="userDaoPointcut"
           expression="execution(* yitian.learn.dao.*.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="userDaoPointcut"/>
 
  </aop:config>
 
</beans>

然后來配置一下Spring Web MVC的組件。在dispatcher-servlet.xml中添加以下配置。這里添加了JSP視圖解析器和類型轉換器,如果不需要自定義類型轉換可以將對應片段刪掉。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="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 http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 
  <mvc:view-resolvers>
    <mvc:jsp prefix="/WEB-INF/jsp/"
         suffix=".jsp"
         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" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
      <set>
        <bean class="yitian.learn.utils.String2LocalDateConverter"/>
      </set>
    </property>
  </bean>
</beans>

至此,Hibernate與Spring的集成就算配置完了。最后我還寫了一個小例子,放在了Github上,有興趣的同學可以看看。

總結

以上就是本文關于Spring Web MVC和Hibernate的集成配置詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/u011054333/article/details/54930571

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产色妞影院wwwxxx | 黄色毛片免费看 | av日韩一区二区三区 | 国产免费片| 国产成人av一区二区 | 依依成人综合 | 欧美 日韩 三区 | 在线观看国产日韩 | 成人情欲视频在线看免费 | 欧美日韩亚洲精品一区二区三区 | 久久久久久久久久亚洲精品 | 日本道中文字幕 | 国产一区视频在线免费观看 | 国产精品久久久久久久四虎电影 | 久久影院在线观看 | 97超视频在线观看 | 日韩伦理电影免费观看 | 亚洲午夜久久久精品一区二区三区 | 欧美性猛交xxx乱大交3蜜桃 | 一区二区精品视频 | 欧美 亚洲 视频 | 中文字幕亚洲视频 | 精品久久一区二区三区 | 成人免费在线播放 | 性欧美日本 | 日韩在线视频免费 | 国产精品成人免费一区久久羞羞 | 日韩激情 | av免费av | 久久九九热re6这里有精品 | 高潮激情aaaaa免费看 | 蜜桃视频在线播放 | 国产亚洲黑人性受xxxx精品 | 国产精品刺激对白麻豆99 | china对白普通话xxxx | 欧美一级高清片_欧美高清aa | 草逼一区 | 亚洲精品一区二区三区在线看 | 欧美成人一级 | 91精品国产777在线观看 | 国产一区二区视频在线播放 |