annotation 2

간단하게 메서드 수행시간 로깅을 해보자! (feat. template callback, annotation)

간단하게 메서드 수행시간 로깅을 해보자! (feat. template callback, annotation)여기서는 그냥 메서드의 수행 시간을 파악하기 위한 예제이다.실제로는 다양한 곳에 활용이 가능하겠지.기본 세팅TestService.java@Servicepublic class TestService { public void doSomething() { System.out.println("류찬은 최고에요!!"); }}그냥 간단한 sout 하는 메서드를 만들고TestServiceTest.java@SpringBootTestclass TestServiceTest { @Autowired private TestService testService; @Test public..

Spring boot Transactional annotation

Transaction이란 DB에서의 상태 변경을 위해 수행하는 작업의 단위 간단하게 말하면 CRUD를 통해 DB에의 접근을 진행하는 것이다. Transaction은 ACID라는 성질을 갖는다. Atomicity(원자성) 트랜잭션은 모두 DB에 반영되거나, 그렇지 않으면 모두 반영되지 않아야 한다. Consistency(일관성) 트랜잭션 처리 결과는 일관성이 있어야 한다. 즉, 트랜잭션 진행 도중 DB가 변경되어도 처음 트랜잭션 진행을 위해 참조한 데이터 기준으로 적용 Isolation(독립성) 둘 이상의 트랜잭션이 동시에 수행되고 있는다면 다른 트랜잭션의 연산에는 끼어들수 없다. Durability(지속성) 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 반영되어야 한다. Transactional a..