테이블 생성
H2 데이터베이스에 접근해서 member 테이블 생성
순수 Jdbc
개방-폐쇄 원칙(OCP, Open-Closed Principle)
>> 확장에는 열려있고 수정 변경에는 닫혀있음
스프링의 DI를 사용하면
>> 기존 코드를 전혀 손대지 않고 설정만으로 구현 클래스 변경
데이터를 DB에 저장하므로
>> 스프링 서버를 다시 실행해도 데이터가 안전하게 저장됨
스프링 통합 테스트
@SpringBootTest : 스프링 컨테이너와 테스트를 함께 실행
@Transactional : 테스트 시작 전에 트랜잭션을 시작하고 테스트 완류 후 항상 롤백
>> DB에 데이터가 남지 않아 다음 테스트에 영향을 주지 않음
스프링 JdbcTemplate
스프링 JdbcTemplate와 MyBatis 같은 라이브러리
>> JDBC API에서 본 반복코드를 대부분 제거
>> SQL은 직접 작성
JPA
JPA는 기존의 반복 코드는 물론이고 기본적인 SQL도 직접 만들어서 실행해줌
SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환 가능
개발 생산성 크게 높힘
show-sql : JPA가 생성하는 SQL 출력
ddl-auto : JPA는 테이블을 자동으로 생성하는 기능 제공, none 사용시 해당 기능 끔
>> create를 사용하면 엔티티 정보를 바탕으로 테이블도 직접 생성
스프링 데이터 JPA
리포지토리에 구현 클래스 없이 인터페이스 만으로 개발 완료 가능
단순하고 반복이라 생각했던 개발 코드들이 확연히 줄어듬
>> 핵심 비즈니스 로직을 개발하는 데 집중 가능
스프링 데이터 JPA가 SpringDataJpaMemberRepository를 스프링 빈으로 자동 등록
출처 : 김영한, 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
'Spring' 카테고리의 다른 글
Spring / 객체 지향 설계와 스프링 (0) | 2025.03.21 |
---|---|
Spring / AOP (0) | 2025.03.19 |
Spring / 회원 관리 예제 - 웹 MVC 개발 (0) | 2025.03.19 |
Spring / 스프링 빈과 의존관계 (0) | 2025.03.17 |
Spring / 회원 관리 예제 - 백엔드 개발 (0) | 2025.03.14 |