#13 spring transaction - transaction aop init
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package com.example.springtransaction.apply;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.context.TestConfiguration;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
@SpringBootTest
|
||||
public class InitTxTest {
|
||||
|
||||
@Autowired
|
||||
Hello hello;
|
||||
|
||||
@Test
|
||||
void go() {
|
||||
|
||||
}
|
||||
|
||||
@TestConfiguration
|
||||
static class InitTxTestConfig {
|
||||
|
||||
@Bean
|
||||
Hello hello() {
|
||||
return new Hello();
|
||||
}
|
||||
}
|
||||
|
||||
@Slf4j
|
||||
static class Hello {
|
||||
|
||||
@PostConstruct
|
||||
@Transactional
|
||||
public void initV1() {
|
||||
boolean isActive = TransactionSynchronizationManager.isActualTransactionActive();
|
||||
log.info("Hello init @PostConstruct tx active={}", isActive);
|
||||
}
|
||||
|
||||
@EventListener(ApplicationReadyEvent.class)
|
||||
@Transactional
|
||||
public void initV2() {
|
||||
boolean isActive = TransactionSynchronizationManager.isActualTransactionActive();
|
||||
log.info("Hello init ApplicationReadyEvent tx active={}", isActive);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user