Bee 事务注解 @Tran 使用实例
注意事项和使用步骤如下:
## 注意事项
### 1.不要在接口使用@Tran注解;接口的方法上使用也不起效果.
### 2.直接在使用main运行,@Tran不起效.
```java
public static void main(String[] args) {
TranTest test=new TranTest();
test.testTran();
}
```
### 3. 直接在本类中,调用本类的一个@Tran标志的方法不起效果.
// testTran2(); //直接使用不起效果.
要使用以下方式:
// @Autowired
// AccountRest self; //在本类中,调用本类的一个@Tran标志的方法. //AccountRest是本类的类名
// self.testTran2(); //在本类中,调用本类的一个@Tran标志的方法.
参考:AccountRest.java
### 4.不使用接口,直接在类里使用@Tran
参考:TranTest3
然后在其它类里,调用TranTest3的方法.
### 5.@Tran作用于类级别,所有的方法,都会被拦截.要确保是否所有的方法都需要,若只有部分方法需要,
只在需要的方法上使用@Tran即可.
TranService接口,不需要写@Tran
一般建议使用以下方式.
```java
@Service
@Tran
public class TranTest implements TranService {
...
}
/**
* 不要在接口使用@Tran注解.
* 接口的方法上使用也不起效果.
* @author Kingstar
* @since 1.17
*/
public interface TranService {
public void testTran();
public void testTran4();
}
```
### 6.@Tran的默认实现,是从V1.17提供.需要将TranHandler交给spring容器管理.
若没有使用bee-springboot,需要将TranHandler交给spring容器管理.
<bean id="tranHandler" class="org.teasoft.beex.transaction.TranHandler"></bean>
### 7.为什么在接口中不能直接放@Tran注解.
https://cloud.tencent.com/developer/article/1862474
### 8.为什么直接在本类中,不能调用本类的一个@Tran标志的方法(不起效果).
https://blog.youkuaiyun.com/ai_xiangjuan/article/details/79478186?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0-79478186-blog