웹 개발 기초: 정적 컨텐츠, MVC와 템플릿 엔진
스프링 부트가 정적 컨텐츠와 MVC 템플릿 엔진, API 응답을 각각 어떻게 처리하는지 예제 코드로 정리합니다.
스프링 부트가 정적 컨텐츠와 MVC 템플릿 엔진, API 응답을 각각 어떻게 처리하는지 예제 코드로 정리합니다.
회원 도메인과 메모리 기반 리포지토리를 인터페이스로 설계하고, JUnit으로 저장/조회 기능을 검증하는 과정을 정리합니다.
회원가입 중복 검증 로직을 담은 Service 계층을 구현하고, given-when-then 패턴으로 정상 케이스와 예외 케이스를 테스트합니다.
@Component 애노테이션이 붙은 클래스를 스프링 빈으로 자동 등록하고, 생성자를 통해 의존관계를 자동으로 주입받는 컴포넌트 스캔 방식을 정리합니다.
아직 데이터베이스가 정해지지 않은 상황에서 SpringConfig 자바 클래스로 스프링 빈을 직접 등록하는 방법을 정리합니다.
Thymeleaf로 홈, 회원 등록 폼, 회원 목록 화면을 구성하고 HomeController에서 등록·조회 요청을 처리하는 과정을 정리합니다.
H2 데이터베이스를 설치하고 build.gradle과 application.properties를 설정해 스프링 프로젝트와 연동하는 과정을 정리합니다.
순수 JDBC로 MemberRepository를 구현하고, SpringConfig의 빈 설정만 바꿔서 메모리 저장소를 DB로 교체하는 과정을 정리합니다.
@SpringBootTest와 @Transactional로 회원 서비스의 회원가입, 중복 검증, 조회 기능을 통합 테스트하는 과정을 정리합니다.
JPA 엔티티 매핑과 EntityManager 기반 리포지토리를 구현하고, SpringConfig의 빈 설정만 바꿔 JDBC 구현체를 JPA로 교체하는 과정을 정리합니다.
JpaRepository를 상속하는 인터페이스만으로 리포지토리 구현체를 자동 생성하는 스프링 데이터 JPA 사용법을 정리합니다.
함수 실행 시간 측정을 예로 삼아 핵심 로직과 공통 관심사를 분리하는 AOP의 필요성과 사용법을 정리합니다.