Java spring为带注释的方法强制事务逻辑
我有一些用Java spring为带注释的方法强制事务逻辑,java,spring,Java,Spring,我有一些用@Transactional注释的方法。此方法不是通过spring生成的代理调用的,但我需要在不使用该代理的情况下强制事务创建 是否可以实现?您可以使用在提供的代码块/回调中手动启动事务: final TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager); transactionTemplate.execute(new TransactionCallback<S
@Transactional
注释的方法。此方法不是通过spring生成的代理调用的,但我需要在不使用该代理的情况下强制事务创建
是否可以实现?您可以使用在提供的代码块/回调中手动启动事务:
final TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
transactionTemplate.execute(new TransactionCallback<String>()
{
@Override
public String doInTransaction(TransactionStatus status)
{
//...
return "Some result";
}
});
当然,您也可以将TransactionTemplate
定义为Springbean并直接注入它。否则,您可以在每次需要时创建它,但随后需要注入事务管理器:
@Resource
private PlatformTransactionManager transactionManager;
那使用什么呢?如果你被录取了,我将把它扩展成一个答案,并提供更多的细节。@TransactionTemplate帮助我解决了我的问题。@TomaszNurkiewicz。
@Resource
private PlatformTransactionManager transactionManager;