2. ToyProject - 프로젝트 생성

Miz·2021년 5월 9일
0

board-toy-project

목록 보기
2/6

Spring 토이프로젝트 생성

  1. https://start.spring.io/

    - Genereate를 통해 생성한 파일의 압축 풀기
    - Intellij -> Open -> build.gradle 파일로 열기

  2. 개발에서는 H2 데이타베이스 사용 예정 (Mac 기준)

  • H2 데이터베이스 설치
  • https://www.h2database.com
  • h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다.
  • 권한 주기: chmod 755 h2.sh
  • 실행 방법
    • 터미널에서 h2가 설치된 폴더로 이동
    • bin 폴더에서 ./h2.sh 실행
  • 데이터베이스 파일 생성 방법 jdbc:h2:~/board (최소 한번)
  • ~/board.mv.db 파일 생성 확인
  • 이후 부터는 jdbc:h2:tcp://localhost/~/board 이렇게 접속
  1. application.yml
spring:
  profiles:
    active: local
  datasource:
    url: jdbc:h2:tcp://localhost/~/board
    username: sa
    password:
    driver-class-name: org.h2.Driver
jpa:
  hibernate:
    ddl-auto: create
  properties:
    hibernate:
      show_sql: true
      format_sql: true
logging.level:
  org.hibernate.SQL: debug
#  org.hibernate.type: trace
  1. build.gradle 수정
plugins {
	id 'org.springframework.boot' version '2.4.5'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
	//querydsl 추가
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
	id 'java'
}

group = 'spring'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
	
	//log 추가
	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.8'
	//queryDsl 추가
	implementation 'com.querydsl:querydsl-jpa'
	compileOnly 'org.projectlombok:lombok'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.springframework.security:spring-security-test'
}

test {
	useJUnitPlatform()
}

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
	jpa = true
	querydslSourcesDir = querydslDir
}
sourceSets {
	main.java.srcDir querydslDir
}
configurations {
	querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
	options.annotationProcessorPath = configurations.querydsl
}
//querydsl 추가 끝
profile
2년차 백엔드 개발자

0개의 댓글