이전 글에서 Spring에서의 단위테스트와 통합테스트에 대해 간략하게 정리해 보았습니다.[JAVA] Spring을 이용한 테스트 코드 작성 방법 (단위 테스트, 통합 테스트) [JAVA] Spring을 이용한 테스트 코드 작성 방법 (단위 테스트, 통합 테스트)소프트웨어 개발에서 테스트 코드는 단순히 오류를 찾는 도구를 넘어, CI/CD(Continuous Integration/Continuous Deployment) 파이프라인과 개발 생산성 향상에 핵심적인 역할을 합니다.이 글에서는 JPA를 사용tae-hui.tistory.com 이번 글에서는 해당 내용에 대해 조금 더 깊에 알아보려고 합니다. 특히, Mock 객체와 MockBean의 차이점, 통합테스트에서의 Application Context 초기화..
spring boot
소프트웨어 개발에서 테스트 코드는 단순히 오류를 찾는 도구를 넘어, CI/CD(Continuous Integration/Continuous Deployment) 파이프라인과 개발 생산성 향상에 핵심적인 역할을 합니다.이 글에서는 JPA를 사용한 DB 연결 후 테스트를 작성하는 방법을 단계별로 알아보겠습니다.1. 🌱 단위 테스트와 통합 테스트의 차이✅ 단위 테스트(Unit Test)목적: 메서드, 클래스 등 작은 단위의 코드가 올바르게 동작하는지 검증.도구: JUnit, Mockito 등.실행 방식:@ExtendWith, @Mock, @InjectMocks 등을 활용하여 외부 의존성을 모킹(Mock).테스트 환경에서 빠르게 검증.✅ 통합 테스트(Integration Test)목적: 여러 구성 요소(Con..
Spring Boot 프로젝트를 진행하다 보면, 여러 프로젝트에서 재사용할 수 있는 공통 모듈을 패키지화해서 관리하고 싶을 때가 많습니다. 이번 포스팅에서는 공통 모듈을 Maven 패키지로 만들어 GitHub Packages에 등록하고, 이를 다른 프로젝트에서 사용하는 방법을 처음부터 끝까지 자세히 설명합니다.1. 🌱 공통 모듈 프로젝트 생성1️⃣ 프로젝트 구조 만들기Spring Boot 공통 모듈 프로젝트를 생성합니다. Maven 프로젝트로 설정하는 것이 중요합니다.Maven 프로젝트 생성 명령어:mvn archetype:generate -DgroupId=com.example -DartifactId=springboot-common-modules -DarchetypeArtifactId=maven-arc..
1. 🖥️ Redis란 무엇인가?Redis는 Remote Dictionary Server의 약자로, 데이터를 메모리에 저장하여 빠르게 처리하는 오픈 소스 인메모리 데이터베이스입니다. Key-Value 구조로 데이터를 저장하고, 다양한 데이터 구조를 지원하는 것이 특징입니다. 일반적인 데이터베이스와 달리 데이터를 디스크가 아닌 메모리에 저장하기 때문에 읽기/쓰기 속도가 매우 빠릅니다.Redis의 특징인메모리 데이터베이스: Redis는 모든 데이터를 메모리에 저장하고, 필요에 따라 데이터를 디스크에 백업할 수 있습니다. 이로 인해 데이터 처리 속도가 매우 빠르며, 특히 실시간 데이터 처리에 유리합니다.다양한 데이터 구조 지원: Redis는 단순한 Key-Value 저장소일 뿐만 아니라, 다양한 데이터 타입..
1. 💻 Spring의 IoC와 DI, 그리고 그 동작 방식Spring에서 중요한 개념 중 하나는 IoC(제어의 역전)과 DI(의존성 주입)입니다. 이 두 가지는 결국 객체의 생성과 관리를 누가 담당하는지에 관한 이야기입니다. 원래는 개발자가 프로그램 내에서 필요한 객체를 직접 생성하고, 의존 관계가 있으면 그 관계를 직접 설정해야 했습니다. 하지만 Spring은 IoC를 통해 이런 책임을 프레임워크가 맡습니다. 쉽게 말하면, 객체 생성과 의존성 관리의 제어권을 Spring이 가져가고, 개발자는 비즈니스 로직에만 집중할 수 있게 되는 것이죠. IoC 개념을 구현하는 방법이 바로 DI(Dependency Injection)입니다. DI는 말 그대로 객체가 필요한 의존성을 외부에서 주입받는 방식입니다. 예..

자바와 이클립스는 깔려있다는 전제하에 설명을 하겠다. 1. Project 생성 create new Spring Starter Project 선택 내용 입력(Type은 Maven, Packaging은 War, java Version은 11, 나머지는 원하는 이름으로 설정하면 된다.) Spring Boot Version은 꼭 2번대로 해줘야 한다. 3번대로 하게되면 java version이 17번으로 고정이 되어 컴파일이 되지 않는다... 이것때문에 매우 오랜 삽질을 했다. 간단한 테트를 위한 프로젝트 이므로 Spring Web 정보만 추가를 해준다. 2. dependency 추가 수정 시 자동 재기동시켜주는 기능과 jsp 사용을 위한 dependency를 pom.xml에 추가한다. org.springfra..