๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Spring

์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ - Spring Initializr ์›น ๋„๊ตฌ ์‚ฌ์šฉ

by Leica 2020. 3. 11.
๋ฐ˜์‘ํ˜•

์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ - Spring Initializr ์›น ๋„๊ตฌ ์‚ฌ์šฉ

 

์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ์ค‘์—๋Š” Spring์—์„œ ์ œ๊ณตํ•˜๋Š” Spring Initializr ์›น ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

https://start.spring.io/ ์— ์ ‘์†ํ•˜์ž.

 

์œ„ ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋ณด์ผ๊ฒƒ์ด๋‹ค. ์‹œ๊ฐ„์ด ํ๋ฆ„์— ๋”ฐ๋ผ UI๋Š” ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค.

 

์„ ํƒํ•ด์•ผํ•˜๋Š” ์˜ต์…˜์€ ์ฐจ๋ก€๋กœ,

 

  • Project: ์‚ฌ์šฉํ•  ๋นŒ๋“œ ํˆด ์„ ํƒ (Maven/Gradle)

Maven, Gradle์€ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋นŒ๋“œ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํˆด์ด๋‹ค. ๊ณผ๊ฑฐ์—๋Š” Maven์„, ์ตœ๊ทผ์—๋Š” Gradle์„ ์‚ฌ์šฉํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค. ์Šคํ”„๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ์ž์ฒด๋„ ์ตœ๊ทผ์—๋Š” Gradle๋กœ ํ•˜๊ณ  ์žˆ๋‹ค.

 

  • Language: ์–ธ์–ด ์„ ํƒ
  • Spring Boot: ๋ฒ„์ „ ์„ ํƒ

SNAPSHOT์ด ๋ถ™์€ ๊ฒƒ์€ ํ˜„์žฌ ๊ฐœ๋ฐœ์ค‘์ธ ๋ฒ„์ „, M(Minor)์€ ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ๋˜์ง€ ์•Š์€ ๋ฒ„์ „์ด๊ณ  ์•„๋ฌด๊ฒƒ๋„ ๋ถ™์–ด์žˆ์ง€ ์•Š์€ ๊ฒƒ์ด ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ๋œ ๋ฒ„์ „์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ๋œ ๋ฒ„์ „ ์ค‘ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ํ˜„์žฌ๋Š” 2.2.5๊ฐ€ ๋˜๊ฒ ๋‹ค.

 

  • Project Metadata: Group, Artifact ์ž…๋ ฅ

๋ณดํ†ต Group์€ ๊ธฐ์—…์˜ ๋„๋ฉ”์ธ๋ช…์„ ์ ๋Š”๋‹ค. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด com.atoz_develop์ฒ˜๋Ÿผ ์ž์‹ ์˜ ๋ธ”๋กœ๊ทธ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋˜์ง€, ์ž์œ ๋กญ๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

Artifact๋Š” ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ ์ด๋ฆ„์„ ์˜๋ฏธํ•œ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ํ•„์š”ํ•œ Dependency๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. Web ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด Spring Web์„ ํ•„์ˆ˜๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.

์ถ”๊ฐ€๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ•˜๋‹จ์˜ Generate๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธ์˜ zipํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๋Š”๋‹ค.

 

๋‹ค์šด๋ฐ›์€ zipํŒŒ์ผ์„ ์ ๋‹นํ•œ ๊ณณ์— ์••์ถ•์„ ํ’€๊ณ  IDE์—์„œ ์—ด์–ด ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

์ƒ์„ฑ๋œ pom.xml์— ์˜ํ•ด ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ์˜์กด์„ฑ๊ณผ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ž๋™์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค.

 

์ด๋Ÿฐ ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

๋ฒˆ์™ธ - ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ์‹คํ–‰ํ•˜๊ธฐ(Gradle)

๋งŒ๋“  ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ž.

 

IntelliJ๋กœ ์‹คํ–‰

Gradle ํ”„๋กœ์ ํŠธ์ธ ๊ฒฝ์šฐ, Gradle์„ ํ†ตํ•ด์„œ๊ฐ€ ์•„๋‹Œ IntelliJ๋กœ ์ž๋ฐ”๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ด ์„ค์ •์€ ํ•„์ˆ˜์ ์ด์ง„ ์•Š์œผ๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋” ๋นจ๋ฆฌ ๋„์šธ ์ˆ˜ ์žˆ๋‹ค.

IntelliJ Preferences > Build, Execution, Deployment > Build Toos > Gradle

 

Build and run using, Run tests using์„ ๋‘˜ ๋‹ค IntelliJ IDEA๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

main ๋ฉ”์†Œ๋“œ ์ขŒ์ธก์˜ ๋…น์ƒ‰ ํ™”์‚ดํ‘œ๋ฅผ ํด๋ฆญํ•˜๊ณ  Run ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค.

 

Gradle๋กœ ๋นŒ๋“œ ๋ฐ ์‹คํ–‰

ํ„ฐ๋ฏธ๋„์—์„œ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ ํ›„ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. (Windows๋Š” gradlew.bat)

 $ ./gradlew build

 

๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ./build/libs ๋””๋ ‰ํ† ๋ฆฌ์— jar ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค. java -jar๋กœ ์‹คํ–‰ํ•œ๋‹ค.

$ java -jar {์ƒ์„ฑ๋œ jarํŒŒ์ผ๋ช…}.jar

 

References

์ธํ”„๋Ÿฐ - ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์Šคํ”„๋ง ๋ถ€ํŠธ ๊ฐœ๋…๊ณผ ํ™œ์šฉ

์ธํ”„๋Ÿฐ - ๊น€์˜ํ•œ๋‹˜์˜ ์Šคํ”„๋ง ์ž…๋ฌธ - ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ, ์›น MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€