Spring整合hibernate中Datasouce、SessionFactory、Transaction配置

来源:互联网 发布:多重快速选择算法 编辑:程序博客网 时间:2024/05/28 18:43
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:tx="http://www.springframework.org/schema/tx"       xmlns:aop="http://www.springframework.org/schema/aop"       xsi:schemaLocation="http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd           http://www.springframework.org/schema/context           http://www.springframework.org/schema/context/spring-context-2.5.xsd           http://www.springframework.org/schema/aop           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd           http://www.springframework.org/schema/tx         http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"><context:annotation-config /><context:component-scan base-package="com.bjsxt" /><aop:aspectj-autoproxy />
<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><context:property-placeholder location="jdbc.properties"/>  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">    <property name="dataSource" ref="dataSource"/>    <property name="annotatedClasses">      <list>        <value>com.bjsxt.model.People</value>      </list>    </property>    <property name="hibernateProperties">      <props>      <prop key="hibernata.dialect">org.hibernate.dialect.MySQLDialect</prop>      <prop key="hibernate.show_sql">true</prop>      </props>    </property>  </bean>    <tx:annotation-driven transaction-manager="txManager"/>    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  <property name="sessionFactory" ref="sessionFactory"/>    </bean></beans>

 

在service层直接在方法中配置:

@Transactionalpublic void add(People people) {userDAO.save(people);}


使用xml替换@Transactional:

<aop:config><aop:pointcut id="productServiceMethods"expression="execution(* com.bjsxt.service..*.*(..))" /><aop:advisor advice-ref="txAdvice" pointcut-ref="productServiceMethods" /></aop:config><tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><tx:method name="add*" propagation="REQUIRED" /><tx:method name="modify*" propagation="REQUIRED" /></tx:attributes></tx:advice>



 

0 0
原创粉丝点击