๐ŸŒ Backend/๐Ÿƒ Spring

2. Spring ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๋Š”๋ฒ•

DevPoong 2022. 7. 1. 23:22

2022-05-26

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๋Š”๋ฒ•!

intellij ultimate ๋ฒ„์ „์„ ์“ฐ๋ฉด spring ํ”„๋กœ์ ํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ https://start.spring.io/ Spring initializr ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

1. Maven, Gradle ๋‘˜ ์ค‘์— ์„ ํƒํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๊ฑด ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋•ก๊ฒจ ์˜ค๊ณ  ๋‚ด๊ฐ€ ๋นŒ๋“œํ•˜๋Š” LifeCycle์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํˆด์ด๋‹ค! ๊ณผ๊ฑฐ์—๋Š” Maven์„ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์š”์ฆ˜์€ Gradle๋กœ ๋„˜์–ด์˜ค๋Š” ์ถ”์„ธ์ด๋‹ˆ Gradle์„ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

2. Language๋Š” java ์„ ํƒ

3. spring boot ๋ฒ„์ „์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”๋ฐ SNAPSHOT, M1 ๋ฒ„์ „์€ ์•„์ง ์ •์‹ release๋œ ๋ฒ„์ „์ด ์•„๋‹ˆ๋ฏ€๋กœ ํ˜„์žฌ ์ •์‹ release๋œ ๋ฒ„์ „ ์ค‘์— ๊ฐ€์žฅ ์ตœ์‹ ์ธ 2.7.0์„ ์„ ํƒ

4. Project Metadata์—์„œ

  • Group: ๊ธฐ์—… ๋„๋ฉ”์ธ ๊ฐ™์€ ๊ฒƒ์„ ๋„ฃ๋Š”๋ฐ ๊ฐœ์ธ์—๊ฒŒ๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ๋„ฃ์–ด๋„ ์ƒ๊ด€ ์—†๋Š” ๊ฒƒ ๊ฐ™์Œ
  • Artifact: Build ๋˜๊ณ  ๋‚˜์„œ์˜ ๊ฒฐ๊ณผ๋ฌผ ์ด๋ฆ„
  • Name: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„
  • Description: ํ”„๋กœ์ ํŠธ ์„ค๋ช…
  • Package Name: ํŒจํ‚ค์ง€ ๋ช…
  • Packaging: Jar OR WAR ์„ ํƒ(๋‚˜๋Š” JAR ์„ ํƒ)
  • JAVA: ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” JDK๋ฒ„์ „ ์„ ํƒ(๋‚˜๋Š” 11 ์„ ํƒ)

5. Dependencies

  • ADD DEPENDENCIES๋ฅผ ๋ˆ„๋ฅด๊ณ  
    (1) ๋‚˜๋Š” ์›นํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— Spring Web์„ ์ถ”๊ฐ€
    (2) html์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” Template Engine์œผ๋กœ Thymeleaf๋ฅผ ์ถ”๊ฐ€

์ด๋ ‡๊ฒŒ ์„ค์ •์„ ๋งˆ์น˜๊ณ  GENEREATE๋ฅผ ๋ˆ„๋ฅด๋ฉด ZIPํŒŒ์ผ์ด ๋‹ค์šด๋˜๋Š”๋ฐ ์••์ถ• ํ’€๋ฉด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์€ ๋!

๊ทธ๋ฆฌ๊ณ  ์ด์ œ intellij์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ openํ•˜๋ฉด ๋˜๋Š”๋ฐ ์ด ๋•Œ build.gradle์„ ์„ ํƒํ•ด์„œ openํ•˜๋ฉด ๋จ. ์ด ๋•Œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ฆฐ๋‹ค..



ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

- .ideaํด๋”: intellij๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์„ค์ • ํŒŒ์ผ

- gradleํด๋”: gradle์„ ์“ฐ๋Š” ํด๋”

- srcํด๋”: main๊ณผ test ํด๋”๊ฐ€ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๊ณ  src -> main -> java๋ฐ‘์— ํŒจํ‚ค์ง€์™€ ์‹ค์ œ ์†Œ์ŠคํŒŒ์ผ์ด ์กด์žฌ

- resourcesํด๋”: src.main์•„๋ž˜์— ์กด์žฌํ•˜๊ณ  ์‹ค์ œ ์ž๋ฐ” ์ฝ”๋“œ ํŒŒ์ผ์„ ์ œ์™ธํ•œ xml, properties, ์„ค์ •ํŒŒ์ผ๋“ค์ด ์กด์žฌ

- build.gradle: ๋ฒ„์ „์„ ์„ค์ •ํ•˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ด(์ž์„ธํ•œ๊ฑด ๋‚˜์ค‘์— ๊ณต๋ถ€!)



์ฒซ ์‹คํ–‰

์ด๋ ‡๊ฒŒ ๋‚˜์˜ค๋ฉด ์„ฑ๊ณต!

SpringBootApplication์ด tomcat ์›น์„œ๋ฒ„๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด์„œ spring boot์™€ ๊ฐ™์ด ์‹คํ–‰๋จ!

์—ฌ๊ธฐ์„œ "Build and run using" ๊ณผ "Run tests using" ๋‘ ๋ถ€๋ถ„์„ Gradle์—์„œ intellij IDEA๋กœ ๋ณ€๊ฒฝ. (build์‹œ์— gradle์„ ํ†ตํ•˜๋ฉด ๋Š๋ฆด ์ˆ˜ ์žˆ์Œ)