我有以下代码:
/**
* Restored deleted partner
*/
@Transactional
public void restorePartnerById(Integer id){
// logic
}
当我将方法定型为
/**
* Restored deleted partner
*/
@Transactional
public final void restorePartnerById(Integer id){
// logic
}
我收到一个编译错误,指出:
用
@Transactional
注释的方法必须可重写
我四处走走,但我不知道为什么它必须具有重写能力,为什么该方法必须具有重写能力?
答案 0 :(得分:3)
Spring的Transactional用于创建覆盖方法的代理类:
围绕从fooService bean定义创建的对象创建事务代理。代理将配置有交易建议,以便在代理
上调用适当的方法时
答案 1 :(得分:0)
我认为将方法更改为final与@Trasacational
不相关,请参见此链接@Trasactional
的工作方式
http://www.codingpedia.org/jhadesdev/how-does-spring-transactional-really-work/