<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 读取db.properties的配置文件 -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>WEB-INF/db.properties</value>
</property>
</bean>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${driver_class}" />
<property name="url" value="${connection.url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
<!-- 配置sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
${hibernate.dialect}
</prop>
<prop key="hibernate.show_sql">
${hibernate.show_sql}
</prop>
<prop key="hibernate.use_sql_comments">
${hibernate.use_sql_comments}
</prop>
<prop key="hibernate.jdbc.fetch_size">
${hibernate.jdbc.fetch_size}
</prop>
<prop key="hibernate.jdbc.batch_size">
${hibernate.jdbc.batch_size}
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com\complez\businessweb\pojo\SellerLoginTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\SellerInfoTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\BuyerInfoTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\BuyerLoginTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\ProductInfoTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\ProductOneTypeTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\ProductTwoTypeTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\ProductNationTab.hbm.xml</value>
<value>com\complez\businessweb\pojo\LeftWordTab.hbm.xml</value>
</list>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<import resource="seller.xml" />
<import resource="buyer.xml" />
<import resource="client_login.xml"/>
<import resource="product.xml"/>
<import resource="left_word.xml"/>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- action -->
<bean name="/product/add"
class="com.complez.businessweb.product.action.ProductAddAction">
<property name="productservice">
<ref bean="productexcuteservice" />
</property>
</bean>
<bean name="/product/delete"
class="com.complez.businessweb.product.action.ProductDeleteAction">
<property name="productservice">
<ref bean="productexcuteservice" />
</property>
</bean>
<bean name="/product/update"
class="com.complez.businessweb.product.action.ProductUpdateAction">
<property name="productservice">
<ref bean="productexcuteservice" />
</property>
<property name="productservice2">
<ref bean="productqueryservice" />
</property>
</bean>
<bean name="/product/list"
class="com.complez.businessweb.product.action.ProductListAction">
<property name="productservice">
<ref bean="productqueryservice" />
</property>
</bean>
<bean name="/query/product"
class="com.complez.businessweb.product.action.QueryProductOneTypeAction">
<property name="queryproductservice">
<ref bean="queryproductservice" />
</property>
</bean>
<bean name="/query/one/product"
class="com.complez.businessweb.product.action.QueryProductAction">
<property name="productservice">
<ref bean="productqueryservice"/>
</property>
</bean>
<!-- service -->
<bean id="productexcuteservice"
class="com.complez.businessweb.product.bo.ProductExcuteServiceImpl">
<property name="productdao">
<ref bean="productproxydao1" />
</property>
</bean>
<bean id="productqueryservice"
class="com.complez.businessweb.product.bo.ProductQueryServiceImpl">
<property name="productdao">
<ref bean="productproxydao2" />
</property>
</bean>
<bean id="queryproductservice"
class="com.complez.businessweb.product.bo.QueryProductOneTypeServiceImpl">
<property name="dao">
<ref bean="productproxydao2" />
</property>
</bean>
<!-- dao -->
<bean id="productexcutedao"
class="com.complez.businessweb.product.dao.ProductExcuteDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="productquerydao"
class="com.complez.businessweb.product.dao.ProductQueryDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 代理 -->
<bean id="productproxydao1"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref bean="productexcutedao" />
</property>
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="excu*">PROPAGATION_REQUIRED</prop>
<!-- <prop key="query*">PROPAGATION_SUPPORTS</prop> -->
</props>
</property>
</bean>
<bean id="productproxydao2"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref bean="productquerydao" />
</property>
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<!-- <prop key="excu*">PROPAGATION_REQUIRED</prop> -->
<prop key="query*">PROPAGATION_SUPPORTS</prop>
</props>
</property>
</bean>
</beans>
package com.complez.businessweb.product.dao;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.complez.businessweb.exception.AddProductException;
import com.complez.businessweb.exception.DeleteProductException;
import com.complez.businessweb.exception.ModifyProductException;
import com.complez.businessweb.pojo.ProductInfoTab;
public class ProductExcuteDaoImpl extends HibernateDaoSupport implements IProductExcuteDao{
public boolean excuteAddProduct(ProductInfoTab productInfo) {
try {
this.getHibernateTemplate().save(productInfo);
return true;
} catch (DataAccessException e) {
throw new AddProductException(e);
}
}
public boolean excuteDeleteProduct(ProductInfoTab productInfo) {
try {
this.getHibernateTemplate().delete(productInfo);
return true;
} catch (DataAccessException e) {
throw new DeleteProductException(e);
}
}
public boolean excuteUpdateProduct(ProductInfoTab productInfo) {
try {
this.getHibernateTemplate().merge(productInfo);
return true;
} catch (DataAccessException e) {
throw new ModifyProductException(e);
}
}
}