Spring

들어가며 안녕하세요~! 오늘은 오랜만에 다시 JPA 관련한 내용으로 찾아왔습니다 ^-^ DB 를 운영하다보면 다양한 Id 생성 전략에 대해 고민을 하고 어떻게 설계할 것인가 에 대해 많은 고민을 하게 되는데요 오늘은 JPA Hibernate 에서 제공하는 Id generator 들에 대해 알아보는 시간을 가지도록 해볼게요 Id Generator 다양한 Id 생성을 위한 기능들을 제공하지만, 하나씩 들어가다보면 정말 종류가 다양하답니다. 오늘 우리가 탐구할 항목은 바로 @GeneratedValue Annotation 을 보려고 해요 public @interface GeneratedValue { /** * (Optional) The primary key generation strategy * that the..
들어가며 안녕하세요~! 오늘은 MSA 환경에서 추적을 용이하게 하기 위한, 라이브러리를 알아보도록 해볼텐데요. 과거에 Spring cloud sleuth 로 유명했었던 라이브러리 이지만, 아쉽게도 Spring Boot 2.x 버젼을 마지막으로 지원을 중단하고, Micrometer Tracing 로 옮기게 된 라이브러리입니다. https://github.com/spring-cloud/spring-cloud-sleuth GitHub - spring-cloud/spring-cloud-sleuth: Distributed tracing for spring cloud Distributed tracing for spring cloud. Contribute to spring-cloud/spring-cloud-sleut..
들어가며 안녕하세요~! 오늘은 Spring 관련한 게시글로 찾아뵙게 되었네요 Spring 개발자라면 가장 많이 사용하게 되는 어노테이션인 Transactional 을 사용할 시 주의점에 대해 소개해드리고자 합니다 Spring Transactional Spring 에서는 PlatformTransactionManager 이라는 클래스가 Transaction 들을 관리해주는 역할을 가지고 있습니다. 작성한 코드가 정상적으로 가동한다면 큰 이상 없이 commit 을 하게 되고, 만일 예외가 발생하는 사항이 발생한다면 rollback 을 mark 하여 Transaction 을 commit 하지 않게 됩니다. 그럼 어떠한 매커니즘으로 Transaction 을 관리하게 될까요? @Transactional 어노테이션을..
안녕하세요~! 이전에 Coroutine 에 대한 기본 개념들을 알아보았죠 이제 학습했던 Coroutine 기본 지식들을 기반으로 Spring Webflux 에 접목시킬 시간인데요. 어떻게 Spring Webflux 에서는 Coroutine 을 접목시켰는지 코드를 보면서 연결 포인트들을 알아보려고 합니다. 혹시나 Coroutine 에 익숙하지 않거나 개념을 모르신다면 아래 게시글을 참조해주세요 ^-^ https://huisam.tistory.com/entry/coroutine2 [Kotlin] Coroutine - 2. CoroutineScope & Context & Dispathcer 을 파헤쳐보자 Coroutine 이전 시간에는 코루틴의 동작원리와 동시성 과 병렬성 의 차이에 대해 알아보았습니다. ht..
Spring Integration Test 안녕하세요 ㅎㅎ 오랜만에 찾아 왔네요. 오늘은 많은 분들이 Spring 을 처음 시작하시고, 여러가지 테스트를 작성할 때 많은 어려움을 겪을 때가 많습니다. 단위테스트는 쉽게 작성해주시지만, Spring Context 가 올라가는 @SpringBootTest 를 활용한 IntegrationTest 를 작성할 때 부터는 많은 어려움들이 있는데요. 오늘은 IntegrationTest 를 작성할 때 많이 쓰이는 모든 것들에 대해 알아보도록 하겠습니다. Integration Test 우선은 IntegrationTest 가 무엇이고 어떤 것인지 보겠습니다. IntegrationTest 는 Unit Test(단위테스트) 보다는 조금 더 리얼 환경에 가까운 테스트로, 배포되..
안녕하세요 ㅎㅎ 오늘은 이제 Database 항목으로 다시 찾아오게 되었습니다.!! 실제 업무를 진행하다보면, 비즈니스 사항에 맞는 쿼리를 작성하는 경우가 정말 많은데요. 내가 작성한 쿼리가 올바른가? 이대로 production 코드에 반영해도 괜찮은가? 에 대한 의문을 해결해줄 수 있는 Query Plan 과 어떻게 Intellij 를 통해서 활용할 수 있는지 알아보겠습니다. 설명에 사용된 기술: Mysql, Mysql Container, Spring Data JPA Query Plan 이란? QueryPlan 의 정의는 Wiki 페이지에서 찾아볼 수 있는데요. SQL 관계형 데이터베이스 관리 시스템의 데이터 접근에 사용되는 순서에 대한 순서 집합 즉 우리가 만든 쿼리를 제출했을 때 어떤식으로 데이터 ..
huisam
'Spring' 태그의 글 목록