SpringMVC中的@Transaction怎么使用,有什么作用

2025-03-20 15:44:13
推荐回答(1个)
回答1:

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:郭无心
链接:https://www.zhihu.com/question/39029249/answer/79553686
来源:知乎

比如这样的一个简单例子:import org.springframework.dao.DataAccessException;
import org.springframework.transaction.annotation.Transactional;
import org.zlex.spring.domain.Account;

/**
* 账户业务接口

*/
public interface AccountService {

/**
* 获得账户
*
* @param username
* @param password
* @return
*/
@Transactional(readOnly = true)
Account read(String username, String password);

/**
* 获得账户
*
* @param id
* @return
*/
@Transactional(readOnly = true)
Account read(int id);

/**
* 注册用户
*
* @param account
* @return
*/
@Transactional(readOnly = false, rollbackFor = DataAccessException.class)
Account register(Account account);
}
上面的service方法加上了@Transaction注解