본문 바로가기

Framework || Library/Spring7

Mockito를 알아보자 1. Mockito란 무엇인가? Mockito는 Java와 Kotlin에서 주로 사용되는 mocking 프레임워크입니다. Mocking은 단위 테스트에서 외부 의존성 또는 실제 구현을 가진 객체를 대체하는 것을 의미합니다. Mockito를 사용하면 실제 코드와 독립적으로 테스트를 수행할 수 있으며, 원하는 동작을 모방한 객체를 쉽게 생성할 수 있습니다. 2. Mockito의 특장점 의존성 분리: 실제 서비스, 데이터베이스, 외부 API 등의 의존성에서 독립적으로 테스트 코드를 작성할 수 있습니다. 유연한 동작 설정: 다양한 조건과 상황에 따라 mock 객체의 동작을 손쉽게 설정할 수 있습니다. 명확한 검증: 특정 메서드가 어떻게 호출되었는지, 몇 번 호출되었는지 등의 상세한 검증이 가능합니다. 코드 간결.. 2023. 9. 12.
Spring Batch 오늘은 배치 처리 도구인 Spring Batch에 대해 이야기하려 합니다. 🌱 Spring Batch란? Spring Batch는 대용량 데이터 처리를 위한 오픈 소스 프레임워크로, Spring의 특성을 기반으로 한 복잡한 배치 작업을 개발하고 유지보수하기 쉽게 만들어 줍니다. 배치 처리라는 것은 일련의 자동화된 단계로 구성된 비-인터랙티브 태스크를 의미합니다. 📚 주요 구성요소 Job: 배치 처리의 전체 작업 프로세스를 나타냅니다. Step: Job 내의 개별적인 처리 단계를 의미합니다. ItemReader: 데이터 소스로부터 데이터를 읽어오는 역할을 합니다. ItemProcessor: 읽어온 데이터에 대한 처리 로직을 수행합니다. ItemWriter: 처리된 데이터를 최종 목적지(예: 데이터베이스)에.. 2023. 9. 5.
Spring Application 프로파일 Spring 프로파일은 서로 다른 환경에서의 애플리케이션 동작을 구성하고 관리하는 기능을 제공합니다. 예를 들어, 로컬 개발 환경에서는 H2 데이터베이스를 사용하고, 운영 환경에서는 MySQL을 사용하고 싶을 때, 프로파일을 사용하여 이런 설정을 분리할 수 있습니다. 기본 개념 Spring에서 프로파일을 사용하면 아래와 같은 장점이 있습니다: 환경별 설정 분리: 개발, 스테이징, 운영 환경 등 다양한 환경에서 서로 다른 설정을 적용할 수 있습니다. 코드 유지 및 관리의 용이성: 환경별 설정을 분리함으로써 코드의 유지와 관리가 용이해집니다. 예시 시나리오 로컬 개발 환경과 운영 환경에서 다른 데이터베이스와 로깅 설정을 사용하는 Spring Boot 애플리케이션을 만들어 보겠습니다. 1. 프로파일별 설정 파.. 2023. 9. 5.
Spring에서 JPA사용하기 (Transaction, 예외 처리) Spring에서 JPA 사용하기 첫 번째 글에서는 기본적인 CRUD 연산에 대해서 알아봤습니다. 오늘은 좀 더 심화된 주제로, 트랜잭션 관리와 예외 처리에 대해 함께 알아보도록 하겠습니다. 🔄 트랜잭션의 중요성 트랜잭션은 데이터베이스 연산의 단위를 의미합니다. 은행 계좌 이체를 예로 들면, A계좌에서 돈을 빼는 작업과 B계좌에 돈을 넣는 작업이 모두 성공해야 합니다. 만약 B계좌에만 돈이 들어가면 문제가 발생하겠죠? 이렇게 연산의 원자성을 보장하는 것이 트랜잭션의 중요한 역할입니다. 🛠 Spring에서의 트랜잭션 관리 Spring에서는 @Transactional 어노테이션을 사용하여 메서드 또는 클래스에 트랜잭션을 적용할 수 있습니다. Service import org.springframework.ste.. 2023. 8. 18.