您的位置:首页 > 编程语言 > Java开发

aop 注解 开启spring自带的事务

2014-07-10 11:49 489 查看
一些基本知识 可以
http://jinnianshilongnian.iteye.com/blog/1415606
serviceImpl.java

package cn.us.service.impl;

import java.util.List;
import java.util.UUID;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import cn.us.dao.IUserDao;
import cn.us.dao.impl.UserDaoImpl;
import cn.us.domain.User;
import cn.us.service.IUserService;
@Service(value="userService")
//@Transactional(propagation=Propagation.SUPPORTS,readOnly=true)

public class UserServiceImpl implements IUserService {

//@Resource(name="userDao")
@Autowired
@Qualifier(value="userDao")
private IUserDao userDao;

public User getOne(String uid) {
return userDao.getOne(uid);
}
//这个方法不需要通知
//    @Transactional(propagation = Propagation.NOT_SUPPORTED)
public List<User> getAllUsers() {
return userDao.getAllUsers();
}

public boolean isExistenceUser(User user) {
return userDao.isExistenceUser(user);
}

@Transactional(readOnly = false, propagation=Propagation.REQUIRED)
public User addUser(User user) {
user.setUid(UUID.randomUUID().toString());
userDao.addUser(user);
return user;
}
}


xml配置

<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <!--         注册注解配置 -->
<context:annotation-config/>
<!--注入 事务管理器  这个注解驱动 告诉 spring 注解驱动 具体上网搜索  -->
<tx:annotation-driven  transaction-manager="transactionManager"/>

<!--      扫描注解bean -->
<context:component-scan base-package="cn.us.aspect"/>

<!--      开启切面代理 使得spring认识 @Aspect -->
<aop:aspectj-autoproxy/>

<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

<!-- 数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost/usersystem?characterEncoding=utf-8"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>

<bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
<property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>

</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: