Spring整合Hibernate

                                                           Spring整合Hibernate

1.引入我们所需的jar包

2.在applicationContext.xml中植入我们的数据源和sessionFactory工厂,将生成权交由Spring容器进行管理

  (1)配置我们所需要连接的数据库的信息,将该信息存入jdbc.properties配置文件中

将该信息配置进applicationContext.xml中

(2)配置我们需要的数据源,这里我们使用c3p0数据源进行配置

首先需要引入c3p0的jar包

applicationContext.xml中配置c3p0数据源

(3).将由Spring容器负责生成SessionFactory,并为其注入dataSource属性

(4)生成我们的Dao 并为其注入sessionFactory属性

(5)生成我们的业务类  service  并为其注入dao属性,service层负责事务处理等

(6). 注册事务管理器

(7).使用切面进行事务管理

我们将applicationContext.xml文件进行了拆解,下面我们将提供一份完整的

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 7         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd                     
 8         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> 
 9 
10 <!-- 注册jdbc属性 -->
11 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
12  <property name="location" value="classpath:jdbc.properties"></property>
13 </bean>
14 
15 
16  <!--注册c3p0数据源  -->
17  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
18   <property name="driverClass" value="${jdbc.className}"></property>
19   <property name="jdbcUrl" value="${jdbc.url}"></property>
20   <property name="user" value="${jdbc.username}"></property>
21   <property name="password" value="${jdbc.password}"></property>
22  </bean>
23  
24 <!-- 配置sessionFactory -->
25 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
26 <property name="dataSource" ref="dataSource"></property>
27 <property name="hibernateProperties">
28 <props>
29 <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
30 <prop key="hibernate.show_sql">true</prop>
31 <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate3.SpringSessionContext</prop>
32 <prop key="hibernate.format_sql">true</prop>
33 </props>
34 </property>
35 <property name="mappingDirectoryLocations" value="cn/hmy/beans/"></property>
36 </bean>
37 
38 <!--配置StockDao  -->
39 <bean id="stockDao" class="cn.hmy.dao.impl.StockDaoImpl">
40 <property name="sessionFactory" ref="sessionFactory"></property>
41 </bean>
42 
43 <!--配置StockService  -->
44 <bean id="stockService" class="cn.hmy.service.impl.StockServiceImpl">
45 <property name="stockDao" ref="stockDao"></property>
46 </bean>
47 
48 <bean id="mytxManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
49 <property name="sessionFactory" ref="sessionFactory"></property>
50 </bean>
51 
52 <!--使用切面进行事务管理  -->
53 <tx:advice id="txAdvice" transaction-manager="mytxManager">
54 <tx:attributes>
55 <tx:method name="add*" isolation="DEFAULT" propagation="REQUIRED"/>
56 
57 </tx:attributes>
58 </tx:advice>
59 
60 
61 <aop:config>
62 
63 <aop:pointcut expression="execution(* *..service.*.*(..))" id="myStockPointcut"/>
64 <aop:advisor advice-ref="txAdvice" pointcut-ref="myStockPointcut"/>
65  
66 </aop:config>
67 
68 
69 
70 </beans>
applicationContext.xml

 

posted @ 2016-10-18 14:11  回青  阅读(160)  评论(0编辑  收藏  举报