#1๊ฐ_ํ๊ฒฝ์ค์
1) Java Install
https://www.oracle.com/java/technologies/downloads/#jdk22-windows
2) IntelliJ Install
https://www.jetbrains.com/help/idea/installation-guide.html#toolbox
=> Ultimate ๋ฒ์ ์ ์ ๋ฃ๋ค...? ํ์ ์ธ์ฆํ๋ฉด ๋ฌด๋ฃ๋ผ๊ณ ํ๋ ๋์๋ค์ ํฌ์ญํด๋ณด์ธ...ใ _ใ
3) Spring Boot Starter ์์ Spring Project ์์ฑ
Artifact ๊ฐ ํ๋ก์ ํธ ์ด๋ฆ์ด๋ค. ์ํ๋ ํ๋ก์ ํธ ์ด๋ฆ์ ์ ์ด์ฃผ๋ฉด Name, PackageName์ ์๋์ผ๋ก ๋ฐ์๋๋ค.
PackageName ์ ๋ค๋ฅธ ๋๊ตฌ๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก 'Group๋ช .ํ๋ก์ ํธ์ด๋ฆ' ์ผ๋ก ์กฐํฉ๋์ด ๋ง๋ค์ด์ง๋ค.
*Gradle๊ณผ Maven์ ์ฐจ์ด?
๋๋ค Build ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค.
- Maven: Java ์ ์ฉ ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ. Apache Ant ์ ๋์์ผ๋ก ๋ง๋ค์ด์ง. Apache Ant์ ๋ฌ๋ฆฌ Lifecycle ๊ด๋ฆฌ ๋๊ตฌ๋ก ์ ํด์ง Lifecycle ์ ์ํด ์์ ์ ์ํํ๋ค. XML๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ํ๊ณ ํ์ฉ.
- Gradle: Java, C/C++, Python ๋ฑ์ ์ง์ํ๋ค. ๋ณ๋์ Groovy ๋น๋ ์คํฌ๋ฆฝํธ๋ก ์ฌ์ฉํ ์ดํ๋ฆฌ์ผ์ด์ ๋ฒ์ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฑ์ ํญ๋ชฉ์ ์ค์ .
Gradle ์ Groovy ์คํฌ๋ฆฝํธ ์ธ์ด(Java ๋ฌธ๋ฒ๊ณผ ์ ์ฌ)๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ XML๊ณผ ๋ฌ๋ฆฌ ๋ณ์์ ์ธ, if, else, for๋ฑ์ ๋ก์ง์ด ๊ตฌํ๊ฐ๋ฅํ์ฌ ๋ ๊ฐ๊ฒฐํ๊ฒ ๊ตฌ์ฑ ๊ฐ๋ฅํ๋ค. Maven ๋ณด๋ค ๋น ๋ฅด๋ค.
Dependencies ๋ก Spring Boot Project ์ ๋๊ตฌ๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
Spring Web, Thymeleaf ๋ฅผ ์ถ๊ฐํด ์ฃผ์.
- Spring Web: web ๋น๋ ๋๊ตฌ
- Thymeleaf: HTML ์ ๋ง๋ค์ด์ฃผ๋ ํ ํ๋ฆฟ ์์ง
- H2 Database: ์๋ฃ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Mustache: ํ๋ฉด์ ๋ง๋ค๊ธฐ ์ํด ํ์ํ ๋๊ตฌ
- Spring Data JPA: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ข ๋ ํธ๋ฆฌํ๊ฒ ๋ค๋ฃฐ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ
4) ํ๋ก์ ํธ ๋ด๋ ค๋ฐ๊ธฐ
Generate ํด์ ํ๋ก์ ํธ๋ฅผ ๋ด๋ ค๋ฐ๋๋ค.
์์ถํ์ผ ์ด์ด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ํด๋ ๋ฐ ํ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
5. IntelliJ ๋ก ์ ํ์ผ ์ด๊ธฐ
IntelliJ ๋ก ์์์ ๋ง๋ Spring Boot Project ๋ฅผ ์ด์ด์ค๋ค. ๊ทธ๋ผ ์๋์ผ๋ก IntelliJ ๊ฐ ํ๊ฒฝ์ ์ ํ ํด์ค๋ค.
์ด๋, Spring Version ์ด๋ JDK ๋ฒ์ ์ด ์๋ง์ผ๋ฉด ์๋ฌ๊ฐ ๋๋ค.
๋๋ ๊ธฐ์กด์ ์ค์นํด๋ JDK ๋ฒ์ ์ด๋ ์๋ฌ๊ฐ ๋ฌ๋๋ฐ JDK 21(LTS๋ฒ์ ), Spring Boot 3.3.0 ์ผ๋ก ๋ง์ถฐ์ฃผ๋ ๋๋ค.
.idea: IntelliJ ๊ฐ ์ฌ์ฉํ๋ ์ค์ ํ์ผ
gradle: Gradle ๊ด๋ จ ํ์ผ๋ค
src: java, test ์ฝ๋. Test ์ฝ๋๊ฐ Default ๋ก ์๋ ๊ฑธ๋ก ์ ์ ์๋์ ๊ฐ๋ฐ ํธ๋ ๋์ ์์ด์ Test ์ฝ๋๊ฐ ์ค์ํ๋ค.
build.gradle: ๋ฒ์ ์ค์ ๋ด์ฉ, ์ถ๊ฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ํ์ผ.
mavenCentral() ์ด๋ผ๋ ๊ณต๊ฐ๋ ์ฌ์ดํธ์์ dependencies ๋ค์ด ๋ค์ด๋ฐ์์ง๋ ๊ฒ.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด ์์กด๊ด๊ณ๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์น ๋ค ๊ฐ์ด ๊ฐ์ ธ์์ง๋ค.
thymleaf ๋ฅผ ์ถ๊ฐํ๋๋ฐ spring-boot-starter > spring-boot > spring-core ๊น์ง ๋ค ๋ฐ์์์ง๊ฑธ ๋ณผ ์ ์๋ค.
5) Spring Boot main ํจ์ ์คํํ๊ธฐ
Project ๋ฅผ ์คํํด๋ณด์. Java ๋ main ํจ์๋ฅผ ๊ธฐ์ ์ผ๋ก ์์๋๋ค.
Tomcat started on port 8080 (http) with context path '/' ๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋จ๋๋ฐ ์ด๋ tomcat ์ด๋ผ๋ ๋ด์ฅ ์๋ฒ๋ฅผ ๋์ฐ๊ณ , tomcat ์ด 8080 port ๋ฅผ ์คํํ๋ค๋ ๋ป์ด๋ค.
http://localhost:8080/
์ผ๋ก ์ ์ํด๋ณด๋ฉด ์์ ๊ฐ์ ํ์ด์ง๊ฐ ๋จ๋ ๊ฑธ ๋ณผ ์ ์๋ค. ๊ทธ๋ผ ์ฑ๊ณต์ด๋ค.
Project ์คํ์ด ๋๊ฒ ๋๋ฆฐ๋ฐ ์ค์ ์์ ๋น๋๋ฅผ Gradle ์ด ์๋ IntelliJ IDEA ๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด Gradle ์ ํตํ์ง ์๊ณ IntelliJ ์์ Java๋ฅผ ๋ฐ๋ก ๋์์ ๋น ๋ฅด๋ค. ์ฐ์ต๋ IntelliJ ๋ก ์ ํ ํด์ฃผ๊ธฐ.
'๐ฅ๏ธ Web Development Study > Back-End' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Back-End] ์คํ๋ง ์ ๋ฌธ :: Build, ์คํ (0) | 2024.05.27 |
---|---|
[Back-End] ์คํ๋ง ์ ๋ฌธ :: View ํ๊ฒฝ ์ค์ (0) | 2024.05.27 |