首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Maven 搭建 SpringMVC + Hibernate 專案完整實戰指南

     編輯:Java 相關知識

Maven 整合 SpringMVC + Hibernate 專案架構實戰

本文完整記錄從零開始搭建 SpringMVC 4.1.4 + Hibernate 4.3.8 專案的全過程,涵蓋資料庫設計、Maven 依賴管理、Spring/Hibernate 配置、事務管理、二級快取、SpringMVC 整合到最終部署測試。

專案架構規劃

採用經典分層架構:

  • Entity 層:Hibernate Tools 自動生成實體類
  • DAO 層:泛型 DAO 介面 + 實作,交由 Spring 管理
  • Service 層:業務邏輯封裝,宣告式事務控制
  • Controller 層:SpringMVC 處理 HTTP 請求,支援 JSON 回應
  • View 層:JSP + JSTL + jQuery AJAX 非同步交互

核心配置檔案

1. pom.xml 關鍵依賴

<properties>
    <spring.version>4.1.4.RELEASE</spring.version>
    <hibernate.version>4.3.8.Final</hibernate.version>
</properties>

<dependencies>
    <!-- Spring 核心 -->
    <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency>
    <dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency>

    <!-- Hibernate -->
    <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>${hibernate.version}</version></dependency>
    <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-ehcache</artifactId><version>${hibernate.version}</version></dependency>

    <!-- C3P0 連線池 / MySQL / Ehcache / JSON -->
    <dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5-pre10</version></dependency>
    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency>
    <dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache</artifactId><version>2.9.0</version></dependency>
    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.5.0</version></dependency>
</dependencies>

2. Spring + Hibernate 整合配置 (spring-hibernate.xml)

重點包含:

  • C3P0 資料源配置(連線池參數調優)
  • LocalSessionFactoryBean 配置掃描 Entity 包、Hibernate 屬性、二級快取
  • HibernateTransactionManager + AOP 宣告式事務(tx:advice + aop:config)

3. Ehcache 二級快取配置 (ehcache.xml)

<ehcache>
    <diskStore path="D:/ehcache" />
    <defaultCache maxElementsInMemory="1000" eternal="false" 
        timeToIdleSeconds="120" timeToLiveSeconds="120" 
        overflowToDisk="true" memoryStoreEvictionPolicy="LRU" />
    <cache name="org.andy.work.entity.AcctUser" 
        maxElementsInMemory="2" eternal="true" overflowToDisk="false" />
</ehcache>

Entity 實體類關鍵註解

使用 Hibernate Tools 自動生成後,需手動補充:

  • @Cache(usage = CacheConcurrencyStrategy.READ_WRITE):啟用二級快取
  • @JsonIgnoreProperties:防止 JSON 序列化循環引用(多對多、一對多關聯必加)

SpringMVC 配置亮點

  • <mvc:annotation-driven> + MappingJackson2HttpMessageConverter:自動 JSON 序列化
  • OpenSessionInViewFilter:延遲 Session 關閉至 View 層,支援視圖中懶加載
  • URL 映射為 *.htmls,REST 風格設計

測試與部署

  1. Maven 命令:clean compile package
  2. 部署至 Tomcat,驗證:
    https://localhost:8080/專案名/user/showInfo/{id}.htmls(頁面)
    https://localhost:8080/專案名/user/showInfos.htmls(JSON API)

此架構為後續擴展 Spring Security、Redis、分頁插件等奠定堅實基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved