
오늘의 학습 키워드
프로젝트 세팅
의존성이란
-compile 시점 의존성: 프로젝트를 컴파일할 때 사용되며 해당 라이브러리의 API를 사용할 수 있다.
-runtime 시점 의존성: 애플리케이션을 실행할 때 사용되며 실행 시에도 라이브러리가 필요하다.
-은닉성: implementation으로 추가된 의존성은 다른 프로젝트 모듈에서 직접 접근할 수 없다. 모듈 간의 캡슐화를 도와줍니다.
의존성 옵션 (build.gradle > dependencies)
-implemenataion 옵션
-runtimeOnly 옵션
-testImplementation 옵션
JDBC Template 프로젝트와 같은 세팅이나 코드가 달라서 브랜치도 다릅니다. (jdbc 브랜치)
runtimeOnly
-h2database:h2
->H2는 자바 기반의 인메모리 데이터베이스로, 로컬 개발 및 테스트 환경에서 DB 서버를 별도로 구축하지 않고 사용할 수 있게 해준다. 빠르고 경량이며 설정이 간단하다는 장점이 있다.
implemenataion
-spring-boot-starter-jdbc
->스프링 부트 애플리케이션에서 JDBC를 사용하기 위한 모든 필수 의존성을 포함하고 있다. JDBC API를 통해 데이터베이스와의 연결 및 SQL 쿼리 실행을 쉽게 할 수 있도록 도와준다.
-spring-boot-starter-web
->애플리케이션이 종료되지 않고 웹 서버를 띄울 수 있도록 도와준다. (H2 Console 웹페이지 띄우기)
# build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'
}
JDBC 프로젝트와 같은 세팅이나 코드가 달라서 브랜치도 다릅니다. (master 브랜치)
runtimeOnly
-h2database:h2
->H2는 자바 기반의 인메모리 데이터베이스로, 로컬 개발 및 테스트 환경에서 DB 서버를 별도로 구축하지 않고 사용할 수 있게 해준다. 빠르고 경량이며 설정이 간단하다는 장점이 있다.
implemenataion
-spring-boot-starter-jdbc
->스프링 부트 애플리케이션에서 JDBC를 사용하기 위한 모든 필수 의존성을 포함하고 있다. JDBC API를 통해 데이터베이스와의 연결 및 SQL 쿼리 실행을 쉽게 할 수 있도록 도와준다.
-spring-boot-starter-web
->애플리케이션이 종료되지 않고 웹 서버를 띄울 수 있도록 도와준다. (H2 Console 웹페이지 띄우기)
# build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'
}
QueryFileMapper 프로젝트와 같은 세팅이나 코드가 달라서 브랜치도 다릅니다. (master 브랜치)
runtimeOnly
-h2database:h2
->H2는 자바 기반의 인메모리 데이터베이스로, 로컬 개발 및 테스트 환경에서 DB 서버를 별도로 구축하지 않고 사용할 수 있게 해준다. 빠르고 경량이며 설정이 간단하다는 장점이 있다.
implemenataion
-spring-boot-starter-jdbc
->스프링 부트 애플리케이션에서 JDBC를 사용하기 위한 모든 필수 의존성을 포함하고 있다. JDBC API를 통해 데이터베이스와의 연결 및 SQL 쿼리 실행을 쉽게 할 수 있도록 도와준다.
-mybatis-spring-boot-starter
->MyBatis는 SQL 매핑 프레임워크, 개발자가 SQL 문을 XML 혹은 어노테이션을 통해 관리할 수 있게 해준다. 스프링 부트 환경에서 MyBatis를 쉽게 통합하고 사용할 수 있도록 도와준다.
-spring-boot-starter-web
->애플리케이션이 종료되지 않고 웹 서버를 띄울 수 있도록 도와준다. (H2 Console 웹페이지 띄우기)
# build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
runtimeOnly 'com.h2database:h2'
}
QueryMapper 프로젝트와 같은 세팅이나 코드가 달라서 브랜치도 다릅니다. (query-file-mapper 브랜치)
runtimeOnly
-h2database:h2
->H2는 자바 기반의 인메모리 데이터베이스로, 로컬 개발 및 테스트 환경에서 DB 서버를 별도로 구축하지 않고 사용할 수 있게 해준다. 빠르고 경량이며 설정이 간단하다는 장점이 있다.
implemenataion
-spring-boot-starter-jdbc
->스프링 부트 애플리케이션에서 JDBC를 사용하기 위한 모든 필수 의존성을 포함하고 있다. JDBC API를 통해 데이터베이스와의 연결 및 SQL 쿼리 실행을 쉽게 할 수 있도록 도와준다.
-mybatis-spring-boot-starter
->MyBatis는 SQL 매핑 프레임워크, 개발자가 SQL 문을 XML 혹은 어노테이션을 통해 관리할 수 있게 해준다. 스프링 부트 환경에서 MyBatis를 쉽게 통합하고 사용할 수 있도록 도와준다. 이 프로젝트에서는 DAO, Mapper 클래스에 쿼리파일을 매핑시켜주는 역할을 하게 된다.
-spring-boot-starter-web
->애플리케이션이 종료되지 않고 웹 서버를 띄울 수 있도록 도와준다. (H2 Console 웹페이지 띄우기)
# build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
runtimeOnly 'com.h2database:h2'
}
runtimeOnly
-h2database:h2
->H2는 자바 기반의 인메모리 데이터베이스로, 로컬 개발 및 테스트 환경에서 DB 서버를 별도로 구축하지 않고 사용할 수 있게 해준다. 빠르고 경량이며 설정이 간단하다는 장점이 있다.
implemenataion
-spring-boot-starter-jdbc
->JDBC 접근을 위한 기본 설정과 라이브러리를 포함. JPA 설정에서도 내부적으로 JDBC 사용이 필요할 수 있다.
-spring-boot-starter-data-jpa
->JPA(Java Persistence API)를 사용하여 관계형 데이터베이스를 객체 지향적으로 다룰 수 있게 해 주며, Hibernate 같은 JPA 구현체를 자동으로 설정한다. 레포지토리 디자인 패턴의 구현을 쉽게 해준다.
-querydsl-jpa
->QueryDSL은 타입 안전한 쿼리를 지원하는 프레임워크로, 복잡한 쿼리 작성을 보다 쉽고 안전하게 할 수 있다. JPA와 함께 사용될 때, 엔티티 객체에 대한 동적 쿼리 생성을 용이하게 해준다.
-spring-boot-starter-web
->애플리케이션이 종료되지 않고 웹 서버를 띄울 수 있도록 도와준다. (H2 Console 웹페이지 띄우기)