동작2 트랜잭션 전파속성 Build Up 트랜잭션은 DBMS의 상태를 변경하는 일련의 작업 단위 이다. 기본특징으로 ACID(원자성, 일관성, 고립성, 지속성)를 가진다. 트랜잭션은 시작지점과 끝나는 지점이 존재한다. == 트랜잭션의 경계 트랜잭션의 시작은 커넥션을 가져오는 것에 시작하고 종료는 커밋 또는 롤백에 의해 종료된다. JDBC의 기본 설정은 DB 작업 이후에 바로 커밋하는 옵션이 DEFAULT이다. 그러므로 자동 커밋 옵션을 false로 해주어야 새로운 트랜잭션이 시작하게 만들 수 있다. What 트랜잭션의 전파속성은 트랜잭션 진행을 어떻게 할지 결정하는 속성이다. *어떻게 == 새로운 트랜잭션을 열어? , 없이 그대로 진행시켜?, 이어붙여버려? 가 있다. 스프링은 전파속성을 제공하는 것 만큼 새로운 개념을 이용하고 .. Spring 2023. 2. 15. @Transactional 동작원리 Build Up Spring Aop 2가지 방식 JDK Dynamic Proxy 동적으로 생성하는 전략으로 타겟의 Interface 기준으로 Proxy를 생성한다. Reflection 이 비싸다는 특징이 있다. CGLIB Proxy 스프링 부트가 기본적으로 제공하는 방식이다. 바이트 코드를 조작하여 프록시 객체를 생성한다. 인터페이스가 아닌 상속을 한 타켓을 호출하게 된다. 동작과정 @Transcational을 메소드 또는 클래스에 명시하게 되면 Spring AOP를 통해 타겟이 상속하고 있는 인터페이스 또는 타겟을 상속한 프록시 객체가 생성된다. SpringAop를 사용하고 있기 때문에 @Transactional을 사용하고 있는 클래스의 메소드를 호출 할 때 유념해야 한다. → @Transactiona.. Spring 2022. 12. 23. 이전 1 다음