๐ 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์ ํตํ๋ฉด ๋๋ฆด ์ ์์)