๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒฟ Spring

[Spring Boot] IntelliJ๋กœ ์Šคํ”„๋ง ๋ถ€ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ

by nitronium102 2022. 3. 10.

IntelliJ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ

  1. create new project
  2. gradle ์„ ํƒ
  3. groupId, artifactId ๋“ฑ๋ก
  • groudId : ์ž์‹ ์ด ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋„๋ฉ”์ธ์„ ๋’ค์ง‘์–ด ๋†“์€ ๊ฒƒ ex) nitro.webpage.com -> com.webpage.nitro
  • artifactId : ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์ด ๋œ๋‹ค.

 

Gradle ํ”„๋กœ์ ํŠธ๋ฅผ Spring ํ”„๋กœ์ ํŠธ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

์ดˆ๋ณด์ž๋Š” ๊ฐ๊ฐ์˜ ์˜์กด์„ฑ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋จผ์ € ์•Œ์•„์•ผ ํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ๋Š” start.spring.io๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ผ์ผํžˆ dependency๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

ํ˜„์žฌ ์ด ์ฑ…์€ 2019๋…„์— ์ถœ๊ฐ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„์ „ ์ด์Šˆ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ผ๋‹จ ๋ธ”๋กœ๊ทธ๋ฅผ ๋”ฐ๋ผ ๋ฒ„์ „์„ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค.
https://jojoldu.tistory.com/539?category=717427

 

(2020.12.16) ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ AWS๋กœ ํ˜ผ์ž ๊ตฌํ˜„ํ•˜๋Š” ์›น ์„œ๋น„์Šค ์ตœ์‹  ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

์ž‘๋…„ 11์›” ๋ง์— ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ AWS๋กœ ํ˜ผ์ž ๊ตฌํ˜„ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ์ถœํŒ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Spring Boot๊ฐ€ 2.1 -> 2.4๋กœ, IntelliJ IDEA๊ฐ€ 2019 -> 2020์œผ๋กœ ์˜ค๋ฉด์„œ ๋„ˆ๋ฌด ๋งŽ์€ ๋ณ€ํ™”๊ฐ€ ์žˆ๋‹ค๋ณด๋‹ˆ, ์ง‘ํ•„ํ•  ๋•Œ์™€ ๋น„๊ตํ•ด ์‹ค์Šต

jojoldu.tistory.com

0. ๊ธฐ์กด์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ

gradlew wrapper --gradle-version 6.7.1๋กœ ์„ค์ •

build successful์ด ๋˜์—ˆ๋‹ค๋ฉด gradle wrapper์˜ ํŒŒ์ผ ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

1. build.gradle ์„ค์ •

gradle์˜ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธ ํ–ˆ์œผ๋‹ˆ build.gradle ์„ค์ •๋„ ๋งž์ถฐ์ค˜์•ผ ํ•œ๋‹ค. 

plugins { // (1)
    id 'org.springframework.boot' version '2.4.1' // RELEASE ์‚ญ์ œ
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'java'
}

group 'com.nitronium'
version '1.0.4-SNAPSHOT-'+new Date().format("yyyyMMddHHmmss")
sourceCompatibility = 1.8

repositories {
    mavenCentral()
    jcenter()
}

// for Junit 5
test { // (2)
    useJUnitPlatform()
}

dependencies {
    //(3)
    implementation('org.springframework.boot:spring-boot-starter-web')
//    implementation('org.springframework.boot:spring-boot-starter-mustache')

    // lombok
    implementation('org.projectlombok:lombok')
    annotationProcessor('org.projectlombok:lombok')
    testImplementation('org.projectlombok:lombok')
    testAnnotationProcessor('org.projectlombok:lombok')

    implementation('org.springframework.boot:spring-boot-starter-data-jpa')
//    implementation("org.mariadb.jdbc:mariadb-java-client")
    implementation('com.h2database:h2')

//    implementation('org.springframework.boot:spring-boot-starter-oauth2-client') // ๊ถŒํ•œ ๊ด€๋ จ
//    implementation('org.springframework.session:spring-session-jdbc') // ๊ถŒํ•œ ๊ด€๋ จ

    testImplementation('org.springframework.boot:spring-boot-starter-test')
//    testImplementation("org.springframework.security:spring-security-test") // ๊ถŒํ•œ ๊ด€๋ จ

 

ํ”„๋กœ์ ํŠธ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์˜์กด์„ฑ ์ ์šฉ

id 'io.spring.dependency-management' // ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌ

์•„๋ž˜ 3๊ฐœ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋ผ ๊ผญ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. 

plugins { // (1)
    id 'org.springframework.boot' version '2.4.1' // RELEASE ์‚ญ์ œ
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'java'
}

 

repository

๊ฐ์ข… ์˜์กด์„ฑ(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋“ค์„ ์–ด๋–ค ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๋ฐ›์„์ง€๋ฅผ ์ •ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” mavenCentral์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์ตœ๊ทผ์—๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋กœ๋“œ ๋‚œ์ด๋„ ๋•Œ๋ฌธ์— jcenter๋„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. 

- mavenCentral

์ด์ „๋ถ€ํ„ฐ ๋งŽ์ด ์‚ฌ์šฉ๋˜์—ˆ์ง€๋งŒ ๋ณธ์ธ์ด ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๊ณผ์ •์ด ๋งค์šฐ ๋ณต์žกํ•˜๋‹ค.

- jcenter

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋กœ๋“œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•จ

jcenter์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด mavenCentral์—๋„ ์—…๋กœ๋“œ๋  ์ˆ˜ ์žˆ๋„๋ก ์ž๋™ํ™”๋ฅผ ํ•˜๊ณ  ์žˆ์Œ

repositories {
    mavenCentral()
    jcenter()
}

 

dependencies

ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ์˜์กด์„ฑ ์„ ์–ธ

์ง์ ‘ ์ž‘์„ฑํ•ด๋„ ๋˜๊ณ , ์ž๋™์™„์„ฑ์œผ๋กœ ๋งŒ๋“ค์–ด๋„ ๋˜์ง€๋งŒ ํŠน์ • ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๊ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๊ณ  ๋ฒ„์ „ ์ถฉ๋Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')

    // lombok
    implementation('org.projectlombok:lombok')
    annotationProcessor('org.projectlombok:lombok')
    testImplementation('org.projectlombok:lombok')
    testAnnotationProcessor('org.projectlombok:lombok')

    implementation('org.springframework.boot:spring-boot-starter-data-jpa')
    implementation('com.h2database:h2')

    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

 

๋Œ“๊ธ€