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

Spring + Hibernate 整合配置全解析:applicationContext.xml 與 hibernate.cfg.xml 最佳實踐

     編輯:Java 綜合教學

Spring + Hibernate 整合配置全解析:applicationContext.xml 與 hibernate.cfg.xml 最佳實踐

核心配置文件

1. applicationContext.xml(Spring 容器總配置)

關鍵 Bean 定義:

  • 屬性佔位符:<context:property-placeholder location="classpath:database.properties"/> 讀取外部配置。
  • 掃描包:<context:component-scan base-package="com.lingdong"/> 自動註冊 Bean。
  • 數據源:C3P0 連接池,屬性從 database.properties 注入(driverClass、url、user、password、initialPoolSize、maxPoolSize)。
  • SessionFactory:LocalSessionFactoryBean,引用 dataSource,configLocation 指向 hibernate.cfg.xml,mappingLocations 掃描 *.hbm.xml。
  • 事務管理:HibernateTransactionManager + tx:advice 定義傳播行為(add*/update*/delete* REQUIRED,select* read-only)+ aop:config 切入 com.lingdong.service.*。

2. hibernate.cfg.xml(Hibernate 核心參數)

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.format_sql">true</property>
  </session-factory>
</hibernate-configuration>

說明:方言用 MySQL5InnoDB,自動更新表結構,開啟 SQL 顯示與格式化,便於開發調試。

避坑提醒

  • LocalSessionFactoryBean 同時指定 configLocation 與 mappingLocations 時,映射文件會合併而非覆蓋。
  • 事務切面建議採用 execution(* com.xxx.service.*.*(..)) 精準切入 Service 層,避免誤切 DAO 或 Controller。
  • 生產環境建議關閉 show_sql,改用 P6Spy 或 Log4jdbc 記錄慢 SQL。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved