spring @transactional表现

时间:2013-05-20 20:32:55

标签: java performance spring transactional

假设我有一个有两种方法的服务bean:

@Transactional(readonly=false)
public void doSomething() 

@Transactional(readonly=true)
public void doSomethingReadOnly()

和第三种方法的两种变体:

@Transactional(readonly=false)
public void doSomethingNice1(){
    doSomethingReadOnly();
}

@Transactional(readonly=false)
public void doSomethingNice2(){
    doSomething();
}

什么电话会更有效地进行预告? doSomethingNice1()? doSomethingNice2()?

感谢

1 个答案:

答案 0 :(得分:0)

换句话说,你想知道当从同一个bean中调用带有这个注释的方法时,注释@Transactional是否有意义。

我认为这取决于您的方面的配置方式。如果他们使用代理,则将直接调用在同一个bean中调用的方法,因此注释不会执行任何操作。但是,如果您使用字节码修改(例如AspectJ),则将使用“最强”注释,因此调用只读事务方法将稍微更高效。