业务层代码如下:
package com.crm.service.impl;
import com.crm.service.UserService;
import com.crm.dao.UserDao;
import com.crm.po.User;
import java.util.List;
import java.sql.SQLException;
/**
* UserService类
* 创建日期: 2009年04月10日
* 创建时间:23时34分
*/
public class UserServiceImpl implements UserService<User>
{ //SPring注入j
private UserDao userDao;
public void setUserDao(UserDao userDao)
{
this.userDao = userDao;
}
public UserDao getUserDao()
{
return userDao;
}
//抛出异常
public void delete(Integer id)throws SQLException
{
userDao.delete(id);
throw new SQLException("有错误!");
}
}
其中userDao是由Spring注入进来的,DAO用的是IBatis,其代码如下:
import com.crm.dao.UserDao;
import com.crm.po.User;
import java.util.List;
import java.sql.SQLException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
public class UserDaoImpl extends SqlMapClientDaoSupport implements UserDao<User>
{
public void update(User user)throws SQLException
{
getSqlMapClientTemplate().update("updateUser",user);
}
}
Spring配置文件如下:
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/crm"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!-- 事务管理器 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 事务通知 -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- 事务配置 -->
<aop:config>
<aop:pointcut id="txPointcut" expression="execution(* com.crm.service..*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config>
<!-- 定义SqlMap工厂 -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>classpath:SqlMapConfig.xml</value>
</property>
<!-- -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- DAO业务类 -->
<bean id="userDAO" class="com.crm.dao.impl.UserDaoImpl">
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<!-- 业务类 -->
<bean id="userService" class="com.crm.service.impl.UserServiceImpl">
<property name="userDao" ref="userDAO"/>
</bean>
</beans>
分享到:
相关推荐
spring事务与数据库操作
Spring事务管理Demo
Spring事务流程图时序图Spring事务流程图时序图Spring事务流程图时序图Spring事务流程图时序图
Spring事务操作示例(四种方式),包含完整代码和数据库文件(基于MySQL,在项目sql文件夹中),可运行,学习Spring事务详见博客:http://blog.csdn.net/daijin888888/article/details/51822257
Spring事务原理、Spring事务配置的五种方式
spring事务配置详解 spring事务配置详解
spring 事务spring 事务spring 事务spring 事务spring 事务
spring 事务传播 demo
Spring事务管理教程,详细讲解了Spring中的事务管理,包括声明式事务,注解式事务,以及事务配置等等
spring事务源码解析
spring 事务传播与隔离级别DEMO 脏读、重复读、幻影读 spring 事务传播与隔离级别DEMO 脏读、重复读、幻影读
Spring事务管理.pdf 1.资料 2.本地事务与分布式事务 3.编程式模型 4.宣告式模型
此ppt中前半部分通过spring事务的60道题的测试,摸底对事务的掌握情况,后半部分,对spring中的事务属性(传播行为、隔离级别、回滚规则、事务超时、是否只读)进行说明
本文档介绍了spring事务隔离级别的使用及详解
包含spring事务管理案例的项目源码和说明文档
Synchronized锁在Spring事务管理下,导致线程不安全。
spring事务管理几种方式代码实例:涉及编程式事务,声明式事务之拦截器代理方式、AOP切面通知方式、AspectJ注解方式,通过不同方式实例代码展现,总结spring事务管理的一般规律,从宏观上加深理解spring事务管理特性...
spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务的底层实现流程图 spring事务...
Spring事务管理中所需要的jar包是 spring-tx-3.2.0.RELEASE.jar
最详细的Spring 事务讲解 让你彻底明白