jsf、Spring、Hibernate 集成 applicationContext-hibernate.xml 配置

Spring框架下Hibernate集成配置
本文介绍了一个基于Spring框架的Hibernate集成配置示例,详细展示了如何通过Spring管理Hibernate的会话工厂、数据源配置及异常转换等内容,并实现了针对具体业务模块的数据访问层和服务层。

<?xml version="1.0" encoding="GB2312"?>
<!-- 页头语言说明:如果在本xml文档中用到中文:encoding="GB2312" 否则为:encoding="UTF-8" -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!--
  - Application context definition for PCManager Suite on Hibernate.
 -->
  <beans>
 <!-- ========================= [资源定义]RESOURCE DEFINITIONS ========================= --> 
 <!-- Configurer that replaces ${...} placeholders with values from a properties file -->
 <!-- (in this case, JDBC-related settings for the dataSource definition below) -->
 <!-- 引入数据库配置文件 -->
 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location" value="/WEB-INF/jdbc.properties"/>
 </bean>
 
 <!-- Local DataSource that works in any environment -->
 <!-- Note that DriverManagerDataSource does not pool; it is not intended for production -->
 <!-- See JPetStore for an example of using Commons DBCP BasicDataSource as alternative -->
 <!-- See Image Database for an example of using C3P0 ComboPooledDataSource as alternative -->
 <!-- DataSource Definition -->
 <!-- 数据源定义 -->
 <bean id="dataSource"
       class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
       <property name="driverClassName" value="${jdbc.driverClassName}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>
 </bean>
 
 <!-- Hibernate SessionFactory Definition -->
 <!-- Hibernate 会话工厂定义 -->
 <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
  <property name="mappingResources">
   <list>
    <value>com/inphit/pms/data/system/Sperson.hbm.xml</value> 
    <value>com/inphit/pms/data/system/Sfunction.hbm.xml</value> 
    <value>com/inphit/pms/data/system/Sdept.hbm.xml</value>       
   </list>
  </property>  
  
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
    <prop key="hibernate.cache.provider_class">net.sf.hibernate.cache.HashtableCacheProvider</prop>
   </props>
  </property> 
  
  <property name="dataSource">
   <ref bean="dataSource"/>
  </property>
 </bean>
 
 <!-- Spring Data Access Exception Translator Defintion -->
 <!-- Spring 数据存取事件译码定义 -->
 <bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
  <property name="dataSource"><ref bean="dataSource"/></property>
 </bean>
 
 <!-- Hibernate Template Defintion -->
 <!-- Hibernate 模板定义 -->
 <bean id="hibernateTemplate" class="org.springframework.orm.hibernate.HibernateTemplate">
  <property name="sessionFactory"><ref bean="sessionFactory"/></property>
  <property name="jdbcExceptionTranslator"><ref bean="jdbcExceptionTranslator"/></property>
 </bean>
 

<!-- ************************************ DAO定义 开始 **************************************** -->
 <!-- [用户DAO] Sperson DAO object: Hibernate implementation -->  
 <bean id="spersonDAO" class="com.inphit.pms.dao.system.SpersonDAOImpl">
  <property name="hibernateTemplate"><ref bean="hibernateTemplate"/></property>
 </bean> 
 <!-- [功能DAO] Sfunction DAO object: Hibernate implementation -->  
 <bean id="sfunctionDAO" class="com.inphit.pms.dao.system.SfunctionDAOImpl">
  <property name="hibernateTemplate"><ref bean="hibernateTemplate"/></property>
 </bean> 
 <!-- [部门DAO] Sdept DAO object: Hibernate implementation -->  
 <bean id="sdeptDAO" class="com.inphit.pms.dao.system.SdeptDAOImpl">
  <property name="hibernateTemplate"><ref bean="hibernateTemplate"/></property>
 </bean> 
<!-- ************************************ DAO定义 结束 **************************************** --> 
 

<!-- ****************** 业务服务定义 开始 Start of SERVICE DEFINITIONS ***************************** -->  
 <!-- [事务管理] [暂未用]Hibernate Transaction Manager Definition-->  
 <!--
 <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
  <property name="sessionFactory"><ref local="sessionFactory"/></property>
 </bean>
 --> 
 
 <!-- [用户Service] Sperson Service Defintion-->  
 <bean id="spersonService" class="com.inphit.pms.service.system.SpersonServiceImpl">
  <property name="spersonDAO"><ref local="spersonDAO"/></property>
 </bean> 
 <!-- [功能Service] Sfunction Service Defintion-->  
 <bean id="sfunctionService" class="com.inphit.pms.service.system.SfunctionServiceImpl">
  <property name="sfunctionDAO"><ref local="sfunctionDAO"/></property>
 </bean> 
 <!-- [部门Service] Sdept Service Defintion-->  
 <bean id="sdeptService" class="com.inphit.pms.service.system.SdeptServiceImpl">
  <property name="sdeptDAO"><ref local="sdeptDAO"/></property>
 </bean> 
<!-- ************************************ 业务服务定义 结束 **************************************** -->  

</beans>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值