728x90

스프링부트 4

[Spring] 스프링 트랜잭션 전파 속성

1. 트랜잭션 전파란?스프링에서 트랜잭션 전파(Transaction Propagation) 는 트랜잭션의 경계에서 이미 진행 중인 트랜잭션이 있을 때 또는 없을 때 어떻게 동작할 것인가를 결정하는 기능.@Transactional 어노테이션이 존재하는 메서드를 호출했을 때, 기존에 트랜잭션이 존재하면 재사용할지, 예외를 던질지 등 행동을 결정할 수 있다. 트랜잭션 전파 속성에는 REQUIRED, REQUIRED_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NESTED, NEVER가 존재하며, @Transactional 어노테이션의 propagation 속성에 값을 설정할 수 있다.   2. 설명REQUIRED: 트랜잭션이 존재하는 경우 해당 트랜잭션 사용하고, 트랜잭션이 없는 ..

[Spring] 스프링 트랜잭션 AOP 동작 흐름

1. 스프링 트랜잭션 AOP 동작 흐름 @Transactional어노테이션을 사용한 선언적 트랜잭션 관리(Declarative Transaction Management)의 전체 흐름에는 크게 3가지 요소가 등장한다. 트랜잭션 매니저, 트랜잭션 AOP 프록시, 트랜잭션 동기화 매니저가 이에 해당된다. 클라이언트 코드로부터 요청이 들어오면 트랜잭션 AOP 프록시가 트랜잭션 매니저를 획득하고, 트랜잭션을 시작하기 위해서 트랜잭션 매니저에게 요청한다. 트랜잭션 시작 요청 받은 트랜잭션 매니저는 데이터소스를 통해 커넥션을 받아오고 트랜잭션을 시작한다. 그리고, 트랜잭션 매니저는 트랜잭션이 시작된 커넥션을 동기화 매니저에 보관한다. 이후 트랜잭션이 종료되는 경우 트랜잭션 매니저는 트랜잭션 동기화 매니저에 보관한 커..

[Kotlin] 코틀린 + 스프링부트로 단숨에 완성하는 초강력 JWT 인증 시스템!💡 보안과 성능을 모두 잡아라!🔥(2)

지난번에 예외발생 DTO를 생성까지 작성했다. [Kotlin] 코틀린 + 스프링부트로 단숨에 완성하는 초강력 JWT 인증 시스템!💡 보안과 성능을 모두 잡아라!🔥  1. validation 추가컨트롤러를 다시 보면 @RequestBody 옆에 @validated가 있었다. 이는 필요한 값이 안왔을 경우 예외를 발생시킨다. @PostMapping("/signup") fun signup( request: HttpServletRequest, @RequestBody @Validated(SignUpValidation::class) reqAuthDto: ReqAuthDto, result: BindingResult ): ResponseEntity { ..

[Kotlin] 코틀린 + 스프링부트로 단숨에 완성하는 초강력 JWT 인증 시스템!💡 보안과 성능을 모두 잡아라!🔥

코틀린 스프링부트로 JWT구현해봤다. 제목은 어그로 ㅎㅎ GPT가 만들어준..   1. 코틀린으로 프로젝트 생성한다.라이브러리는dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") implementati..

728x90