์ธํ ๋ฆฌ์ ์ด์์ ๊ฐ๋ฐ์์ ์ ํ๋ฉด, ์์ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ํตํด ๊ฐ๋ฐํ๊ฒฝ์ ์ธํ ํ ์ ์๋ค.
1.์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญ

2.Spring Initializr ์ ํ ํ
ํ๋ก์ ํธ ์ด๋ฆ / ๋น๋ํ์
/ ๊ทธ๋ฃน์ด๋ฆ / JAVA ๋ฒ์ ์ ๋ง๋ JDK ๋ค์ด๋ก๋


3.๋ผ์ด๋ธ๋ฌ๋ฆฌ dependencies์ lombok, springboot DevTools ์ถ๊ฐ

4.Main - java - SpringPracticeApplication run ํด์ ๋ก๊ทธ ์๋์ ๊ฐ์ด ๋จ๋์ง ํ์ธํ๊ธฐ

5.ํ์ํ ๊ฒฝ์ฐ pom.xml์์ jdk ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ

1.java project ๋ง๋ค๊ธฐ

2.Spring framework ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ build.gradle ์ฝ๋ dependencies ํ๊ทธ ๋ด๋ถ์ ์ถ๊ฐํ๊ธฐ

plugins {
id 'java'
id 'org.springframework.boot' version '2.7.10'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'com.spring'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
์์ ๋จ๋ gradle changes ๋๋ฌ์ฃผ๊ธฐ

๋ฉ์ธํด๋์ค ์คํํด์ ์๋ฌ ๋ก๊ทธ ์๋์ง ํ์ธ

1.๋น๋ํ์ ์ ๋ฐ๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ์ฝ๋ ๋ด๋ถ์ dependency ์ฝ๋์ ์๋ ์ฝ๋ ์ถ๊ฐํ๊ธฐ
implementation 'javax.servlet:jstl'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
์๋์ฌ์ง์ฐธ๊ณ

2.JSP ์ฝ๋ ๋๋ ํ ๋ฆฌ ๋น๋ํ๊ธฐ


3.resources application.properties ํ์ผ ์๋ก ๋ง๋ ํ ์๋ฒ ํฌํธ ์ฝ๋ 1์ค ์ถ๊ฐํ๊ธฐ

server.port=8080 //server.port=<์ํ๋ ํฌํธ๋ฒํธ>
4.๋์์ ๊ฐ์ ํ๋ก์ ํธ๋ฅผ vscode๋ก ์ด์ด์ jsp ์์
ํ๊ธฐ
! + tab ํ๋ฉด ์๋์์ฑ๋๊ณ , ๊ทธ ์ธ ํธํ ํ์ฅํ๋ก๊ทธ๋จ ์ด์ฉ๊ฐ๋ฅํ์ง๋ง ๋ง์ฝ ์ผํฐ๋ฐ ๋ฒ์ ์ ์ฌ์ฉ์ค์ด๋ผ๋ฉด ํด๋น ๊ธฐ๋ฅ์ intelliJ์์ ํธํ๊ฒ ์ฌ์ฉ๊ฐ๋ฅํ๋ฏ๋ก ๋ ์ฑ์ ์ค๊ฐ๋ฉฐ ์์
ํ ํ์๋ ์๋ค.
์ฌ์ง์ฐธ๊ณ

์ฝ๋ ์๋จ์ ์๋ ์ฝ๋ ์ถ๊ฐ
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
https://start.spring.io spring initializr ์ฌ์ดํธ ์ ์ํ์ฌ ์ํ๋ ์ต์
๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋ ๊ฐ๋ฅ
https://central.sonatype.com : ํ๋ ์์ํฌ ํ๋ซํผ