주석 처리 된 TX Spring 지원을 사용하려고합니다.Spring @ Transaction이 작동하지 않습니다.
응용 프로그램 컨텍스트 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);
}
}
nd는 을 거짓으로 나타냅니다.
내가 뭘 잘못하고 있니?
'save' 메서드를 어떻게 호출하는지 보여 줄 수 있습니까? – geoand
여기에 충분한 정보가 없습니다. _How_'@ Transactional'을 해석하고 있습니까? 스프링 프록시 사용하기? Spring AOP 사용하기? 어떤 형태의 직조 사용? 콩이 Spring에 의해 명확하게 만들어 졌습니까? 즉, 어딘가에 자동 실행되고 있습니까? 추신 왜 XML을 사용합니까? –
어떻게 xml 파일을로드할까요? save 메소드를 어떻게 호출하고 있습니까? 여기에 정보가 너무 적습니다. –