我正在尝试使用带注释的TX Spring支持。
应用程序上下文XML:
实际代码:
呼叫代码:
这段文字的翻译是:“它会返回 FALSE。我做错了什么?”
应用程序上下文XML:
<?xml ...>
<tx:annotation-driven/>
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource">
...
</bean>
<bean id="repository" class="Repository">
<constructor-arg ref="dataSource"/>
</bean>
</beans>
实际代码:
public class Repository {
@Transactional
public void save(Op op) {
System.out.println("Transaction active:::: " + TransactionSynchronizationManager.isActualTransactionActive());
...
}
}
呼叫代码:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/integration-context.xml"})
public class RepositoryTest {
@Autowired
private Repository repository;
@Test
public void testRepositoryPersistence() {
Op op = mock(Op.class);
repository.save(op);
}
}
这段文字的翻译是:“它会返回 FALSE。我做错了什么?”
save
方法的吗? - geoand@Transactional
的?使用 Spring 代理吗?使用 Spring AOP 吗?还是使用某种编织方式?这个 bean 是否一定由 Spring 创建 - 即它在某个地方被自动装配了吗?另外,为什么要使用 XML? - Boris the Spider<tx:annotation-driven proxy-target-class=true/>
吗? - geoand