프로젝트 생성
(인텔리제이 무료버전을 쓰시는 분은 더보기를 펼쳐주세요!)
------------------------ 접은글 시작 ------------------------
1. https://start.spring.io/ 접속
2.

3. GENERATE 버튼 클릭 후 다운로드 된 zip 파일 다운받기

4. 원하는 경로에 압축 해제 후 인텔리제이 열기
5. [ File ] - [ Open ] - [ 압축해제 한 프로젝트 경로 ] 열기!
------------------------ 접은글 끗 ------------------------
기존 프로젝트가 있다면 왼쪽 상단의 [ File ] - [ Close Project ] 후에 [ New Project ]
Gradle / Maven
- Gradle 사용을 권장!
> 의존성 주입시 스크립트가 간결
> gradle의 테스트 및 빌드 수행 결과 속도가 더 빠르다.
> Maven 은 정적도구인 XML을 사용하기 때문에 동적인 빌드를 사용할 때 어려움!
Jar / War
- 개인적으로는 War을 권장!(하고싶음)
> Jar : java관련 리소스 파일이 포함, java프로젝트가 동작 할 수 있게 압축한 파일
> War : Servlet, Jar, XML, HTML 등 서블릿 콘텍스트파일 패키징
의존성
> Spring Boot DevTools : 스프링부트에서 제공하는 개벌 편의 모듈 / 코드가 변경되면 자동으로 어플리케이션 재시작
> Lombok : Annotation 사용 가능! 코드 길이 100줄은 줄일 수 있음!
> Spring Data JPA : 데이터베이스를 다루는 인터페이스
> Thymeleaf : JSP처럼 VIEW의 역할을 함 / Spring에 특화
내부 수정
application.properties
경로 >> [ src ] - [ main ] - [ resources ] - [ application.properties ]
//DB 연결 (mariadb)
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/데이터베이스 이름
spring.datasource.username=사용자 이름
spring.datasource.password=사용자 비밀번호
//sql
//DDL -> drop, create, alter 등 자동생성할건지
spring.jpa.hibernate.ddl-auto=update
//SQL문을 포맷해서 콘솔창에 출력
spring.jpa.properties.hibernate.format_sql=true
//처리시에 발생하는 SQL문을 볼 것인지 결정
spring.jpa.show-sql=true
spring.thymeleaf.cache=false
build.gradle
경로 >> [ 프로젝트 ] - [ build.gradle ]
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id 'base'
id 'java'
id 'war'
id 'org.springframework.boot' version '2.7.10'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'org.zerock'
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-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'junit:junit:4.13.1'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.1.0'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor(
"javax.persistence:javax.persistence-api",
"javax.annotation:javax.annotation-api",
"com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
implementation 'org.modelmapper:modelmapper:3.1.0'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.1.0'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'net.coobird:thumbnailator:0.4.16'
}
tasks.named('test') {
useJUnitPlatform()
}
sourceSets {
main {
java {
srcDirs = ["$projectDir/src/main/java", "$projectDir/build/generated"]
}
}
}
compileJava.dependsOn('clean')
!!! build.gradle 파일 수정 후에는 꼭 !!!
코끼리를 눌러주세요!
프로젝트 생성은 요런식으로 하면 됩니다!