Java 弹簧@transactional性能
假设我有一个服务bean,它有两种方法:Java 弹簧@transactional性能,java,performance,spring,transactional,Java,Performance,Spring,Transactional,假设我有一个服务bean,它有两种方法: @Transactional(readonly=false) public void doSomething() @Transactional(readonly=true) public void doSomethingReadOnly() 和第三种方法的2种变体: @Transactional(readonly=false) public void doSomethingNice1(){ doSomethingReadOnly(); }
@Transactional(readonly=false)
public void doSomething()
@Transactional(readonly=true)
public void doSomethingReadOnly()
和第三种方法的2种变体:
@Transactional(readonly=false)
public void doSomethingNice1(){
doSomethingReadOnly();
}
@Transactional(readonly=false)
public void doSomethingNice2(){
doSomething();
}
什么样的呼叫将更有效地执行?doSomethingNice1()?doSomethingNice2()
谢谢换句话说,当从同一个bean中调用使用此注释注释的方法时,您想知道注释
@Transactional
是否有意义
我相信这取决于您的方面是如何配置的。如果他们使用代理,那么从同一个bean中调用的方法将被直接调用,因此注释将不起任何作用。但是,如果您使用字节码修改(例如AspectJ),则将使用“最强”注释,因此调用只读事务方法将稍微更有效 doSomethingNice1()
的(readonly=false)
覆盖了doSomethingReadOnly()
的(readonly=true)
,如果这是您要问的。