계층이 존재 : 각자의 역할과 책임
을 하는
컨트롤러
: 프레젠테이션 계층
HTTP 요청 받고
비즈니스 계층으로 전송
서비스
: 비즈니스 계층
비즈니스 로직
처리리포지토리
: 퍼시스턴스 계층
데이터베이스 관련 로직
처리DAO
사용할 수도 있음데이터베이스와 상호작용
하기 위한 객체
데이터베이스
프로젝트 구성
build.gradle
: 빌드를 설정하는 파일, 의존성 플러그 같은 것을 설정할 때setting.gradle
: 빌드할 프로젝트의 정보를 설정하는 파일인메모리 DB
: 시작할 때마다 초기화
됨 따라서 DB에 더미데이터 넣기
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.h2database:h2'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
show-sql + format_sql
: 애플리케이션 실행 과정에 데이터베이스에 쿼리할 일이 있으면 실행 구문을 모두 보여줌
defer-datasource-initialization
: 애플리케이션을 실행할 때 테이블을 생성하고 data.sql에 있는 더미데이터 쿼리를 실행하기 함
spring:
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
defer-datasource-initialization: true