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

SSH 整合實戰(三):Spring + Struts2 + Hibernate 註解版完整配置

     編輯:Java 相關知識

本系列第三篇,完成 SSH 最後一塊拼圖——Hibernate 整合。採用 Proxool 連接池 + Hibernate Annotations 映射,展示從數據庫建表到驗證連接池運行的全過程。

數據庫準備

CREATE DATABASE miziData CHARACTER SET utf8 COLLATE utf8_general_ci;
USE miziData;
CREATE TABLE USER (
  ID VARCHAR(32) NOT NULL PRIMARY KEY,
  USERNAME VARCHAR(32), SEX INT, AGE INT,
  PASSWORD VARCHAR(32), CREATEDATE DATETIME
) ENGINE=InnoDB;

Proxool 配置 (src/proxool.xml)

<proxool>
  <alias>DbPool</alias>
  <driver-url>jdbc:mysql://localhost:3306/miziData?characterEncoding=UTF-8</driver-url>
  <driver-class>com.mysql.jdbc.Driver</driver-class>
  <driver-properties>
    <property name="user" value="root"/>
    <property name="password" value="root"/>
  </driver-properties>
  <house-keeping-sleep-time>28000</house-keeping-sleep-time>
  <prototype-count>10</prototype-count>
  <maximum-connection-count>50</maximum-connection-count>
  <minimum-connection-count>10</minimum-connection-count>
  <maximum-active-time>3600000</maximum-active-time>
  <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
  <test-before-use>true</test-before-use>
  <trace>true</trace>
  <statistics-log-level>DEBUG</statistics-log-level>
</proxool>

Hibernate 配置 (src/hibernate.xml)

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
    <property name="hibernate.proxool.pool_alias">DbPool</property>
    <property name="hibernate.proxool.xml">proxool.xml</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>

Spring 整合 (applicationContext.xml)

<bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="configLocation" value="classpath:hibernate.xml"/>
</bean>
<bean id="Hello" class="test.action.Hello" scope="prototype"/>

web.xml 關鍵點

  • 保留 Struts2 Filter 與 Spring ContextLoaderListener。
  • 新增 ProxoolAdmin Servlet 映射到 /proxoolPool,提供連接池監控頁面。
  • contextConfigLocation 使用 classpath:applicationContext*.xml 通配符載入多配置文件。

必需 JAR 包清單

Hibernate 核心、Annotations、Proxool、MySQL 驅動、SLF4J、Commons Collections/Logging 等,缺一不可(文中附圖展示)。

驗證步驟

  1. 啟動 Tomcat。
  2. 瀏覽器訪問 https://localhost/miziStudy/proxoolPool。
  3. 看到 Proxool 管理頁面顯示連接池狀態(別名 DbPool、活躍連接數等)即代表整合成功。

後續擴展方向

  • web.xml 進階 Filter 鏈、Spring AOP 事務切面、Hibernate 二級緩存(Ehcache)、OpenSessionInView Filter。
  • 領域模型驅動設計、DAO/Service 分層規範、異常統一處理。
到此 SSH(Spring 2.5 + Struts 2.0.11 + Hibernate 3.4)最小可運行棧配置完成。實戰專案仍需補全事務、安全、緩存、日誌、構建腳本等工程化內容。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved