#13 spring transaction - apply test
This commit is contained in:
@@ -1 +1 @@
|
||||
|
||||
logging.level.org.springframwork.transaction.interceptor=TRACE
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.example.springtransaction.apply;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.aop.support.AopUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.context.TestConfiguration;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
|
||||
@Slf4j
|
||||
@SpringBootTest
|
||||
public class TxBasicTest {
|
||||
|
||||
@Autowired
|
||||
BasicService basicService;
|
||||
|
||||
@Test
|
||||
void proxyCheck() {
|
||||
log.info("aop class={}", basicService.getClass());
|
||||
Assertions.assertThat(AopUtils.isAopProxy(basicService)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void txTest() {
|
||||
basicService.tx();
|
||||
basicService.nonTx();
|
||||
}
|
||||
|
||||
@TestConfiguration
|
||||
static class TxApplyBasicConfig {
|
||||
@Bean
|
||||
BasicService basicService() {
|
||||
return new BasicService();
|
||||
}
|
||||
}
|
||||
|
||||
@Slf4j
|
||||
static class BasicService {
|
||||
|
||||
@Transactional
|
||||
public void tx() {
|
||||
log.info("call tx");
|
||||
boolean txActive = TransactionSynchronizationManager.isActualTransactionActive();
|
||||
log.info("tx active={}", txActive);
|
||||
}
|
||||
|
||||
public void nonTx() {
|
||||
log.info("call nonTx");
|
||||
boolean txActive = TransactionSynchronizationManager.isActualTransactionActive();
|
||||
log.info("tx active={}", txActive);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user