반응형 분류 전체보기166 [Spring] 8주차: 통합 테스트 (Integration Test) 8주차: 통합 테스트 (Integration Test)목표: 단위 테스트를 넘어, 여러 컴포넌트(컨트롤러, 서비스, 리포지토리 등)를 함께 묶어 실제 애플리케이션의 동작을 검증하는 통합 테스트 방법을 배웁니다. 스프링 부트가 제공하는 강력한 테스트 지원 기능인 @SpringBootTest와 테스트 슬라이스(@WebMvcTest, @DataJpaTest)를 활용하여 효율적인 통합 테스트를 작성하는 기술을 익힙니다.1. 통합 테스트란?통합 테스트(Integration Test) 는 단위 테스트에서 격리했던 외부 의존성(다른 클래스, 데이터베이스, 메시지 큐 등)을 실제로 연결하여, 여러 컴포넌트가 함께 동작하는 전체 흐름을 테스트하는 것입니다.단위 테스트: TodoService를 테스트하기 위해 TodoRe.. 2025. 9. 19. [Spring] 7주차: 단위 테스트 (Unit Test) 7주차: 단위 테스트 (Unit Test)목표: 고품질의 소프트웨어를 만들기 위한 필수 역량인 테스트 코드 작성법을 배웁니다. 단위 테스트의 개념을 이해하고, JUnit5와 AssertJ를 사용하여 테스트 케이스를 작성하는 방법을 익힙니다. 또한, Mockito를 활용하여 외부 의존성을 격리하고 순수한 비즈니스 로직을 검증하는 기술을 학습합니다.1. 왜 테스트 코드를 작성해야 하는가?많은 신입 개발자들이 테스트 코드 작성을 번거롭고 부가적인 일로 생각하지만, 테스트 코드는 선택이 아닌 필수입니다. Postman으로 API를 테스트하거나, System.out.println으로 로그를 찍어보는 것도 테스트의 일종이지만, 자동화된 테스트 코드는 다음과 같은 강력한 장점을 제공합니다.품질 보증 및 버그 감소: .. 2025. 9. 19. [Spring] 6주차: Spring Data JPA와 트랜잭션 6주차: Spring Data JPA와 트랜잭션목표: Spring Data JPA가 제공하는 강력한 기능을 통해 지루하고 반복적인 CRUD 코드를 제거하는 방법을 배웁니다. JpaRepository 인터페이스의 동작 원리를 이해하고, 쿼리 메소드와 @Query를 사용하여 원하는 데이터를 손쉽게 조회하는 기술을 익힙니다. 또한, 데이터 일관성을 보장하는 데 필수적인 트랜잭션의 개념과 @Transactional 어노테이션의 사용법을 학습합니다.1. Spring Data JPA: Repository의 마법5주차에 우리는 EntityManager를 사용하여 영속성 컨텍스트에 접근하고, em.persist(), em.find() 등의 메소드로 데이터를 관리했습니다. 하지만 이마저도 반복적인 코드 작성을 요구합니다.. 2025. 9. 19. [Spring] 5주차: JPA와 엔티티 매핑 5주차: JPA와 엔티티 매핑목표: 자바 진영의 표준 ORM(Object-Relational Mapping) 기술인 JPA의 기본 개념을 이해합니다. 객체(Entity)를 관계형 데이터베이스의 테이블에 어떻게 매핑하는지 배우고, 영속성 컨텍스트의 동작 원리를 통해 JPA가 어떻게 데이터베이스 작업을 처리하는지 학습합니다.1. ORM과 JPA, 그리고 Hibernate1.1 JDBC의 한계와 ORM의 등장전통적인 JDBC(Java Database Connectivity) 방식은 개발자가 직접 SQL 쿼리를 작성하고, ResultSet을 받아 일일이 자바 객체에 매핑해주어야 했습니다.// JDBC 예시String sql = "SELECT id, name, email FROM member WHERE id = .. 2025. 9. 19. [Spring] 4주차: REST API와 DTO 4주차: REST API와 DTO목표: 현대적인 웹 애플리케이션의 표준 아키텍처인 REST(Representational State Transfer)를 이해합니다. @RequestBody를 통해 JSON 데이터를 서버에서 받는 방법을 배우고, 계층 간 데이터 전송을 위한 객체인 DTO(Data Transfer Object)의 필요성과 올바른 사용법을 익힙니다.1. REST 아키텍처의 이해REST는 웹의 창시자 중 한 명인 로이 필딩이 제안한, 분산 하이퍼미디어 시스템(웹과 같은)을 위한 아키텍처 스타일입니다. 쉽게 말해, "웹의 장점을 최대한 활용할 수 있는 아키텍처의 모범 답안" 이라고 할 수 있습니다.1.1 REST의 핵심 원칙자원 (Resource): 모든 것을 자원으로 정의합니다. 예를 들어, 회.. 2025. 9. 19. [Spring] 3주차: Spring MVC와 요청 처리 3주차: Spring MVC와 요청 처리목표: 스프링 MVC의 동작 원리를 이해하고, 클라이언트(웹 브라우저, 모바일 앱 등)로부터 들어오는 다양한 HTTP 요청을 처리하는 방법을 익힙니다. @RestController와 다양한 요청 매핑 어노테이션을 활용하여 웹 애플리케이션의 엔드포인트를 자유자재로 다룰 수 있게 됩니다.1. 스프링 웹 MVC 아키텍처스프링 부트에서 웹 애플리케이션을 개발할 때, 우리는 내부적으로 스프링 MVC 프레임워크를 사용하게 됩니다. 스프링 MVC의 모든 요청은 하나의 "중앙 관제탑"을 통해 처리되는데, 이것이 바로 DispatcherServlet 입니다.1.1 DispatcherServlet의 요청 처리 흐름클라이언트로부터 요청이 오면 DispatcherServlet은 다음과 .. 2025. 9. 19. 이전 1 ··· 12 13 14 15 16 17 18 ··· 28 다음 반응형