@Autowired private PlatformTransactionManager transactionManager; public void performDatabaseOperations() { TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); try { transactionManager.commit(status); } catch (Exception e) { transactionManager.rollback(status); } } @Autowired private SomeService someService; @Transactional public void performDatabaseOperations() { someService.someMethod(); } <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="someMethod" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.example.SomeService.*(..))" /> </aop:config> @Autowired private PlatformTransactionManager transactionManager; @Bean public TransactionTemplate transactionTemplate() { return new TransactionTemplate(transactionManager); } @Bean public SomeService someService() { return new SomeServiceImpl(); }


上一篇:
下一篇:
切换中文