
entity(์๋ฐ๋ฅผ ์ด์ฉํด์ ํ ์ด๋ธ ์์ฑ) JPA repository (cloud์์ ์ ์ฒ๋ฆฌํ๋ ์ธํฐํ์ด์ค) thymeleaf๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ค์ ์ ํ ๊ฒ์ด๋ค!
๐ JDK ์ค์น ๋งํฌ
์ ๋งํฌ์ ์ ์ํ์ฌ ์ด์์ฒด์ ์ ๋ง๋ JDK๋ฅผ ์ค์นํ๋ค.

๋๋ ์๋์ฐ ์ปดํจํฐ์ ์ค์นํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ windowํญ์์ x64 MSI Installer๋ฅผ ์ ํํ์๋ค.
Download์ ์๋ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฐ๋ก ๋ค์ด๋ก๋๊ฐ ๋๋ฉฐ, ์๋ฃ๋๋ฉด ์คํํด์ค๋ค.

์คํ ํ close๊ฐ ๋์ฌ๋๊น์ง Next>์ ํด๋ฆญํด์ค๋ค.


Setup์ฐฝ์ ๋ซ๊ณ ๋๋ฉด
C:\Program Files\Java ์ jdk-22๊ฐ ์ค์น๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๐ STS ์ค์น ๋งํฌ
์ ๋งํฌ์ ์ ์ํ์ฌ ์ด์์ฒด์ ์ ๋ง๋ STS๋ฅผ ์ค์นํ๋ค.

๋๋ ์๋์ฐ ์ปดํจํฐ์ ์ค์นํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
4.22.1 - WINDOWS X86_64๋ฅผ ์ ํํ์๋ค.


๋ค์ด๋ ๊ฒ์ ์คํํ๋ฉด ์์ ์ฐฝ์ ๊ฑฐ์น๊ณ ๋ค์ด๋ก๋ ์
sts-4.22.1.RELEASE๋ผ๋ ํด๋๊ฐ ์๊ธด๋ค!
์ด ํด๋๋ฅผ ๋ค์ด๋ก๋์์ C ๋๋ผ์ด๋ธ๋ก ์ฎ๊ฒจ์ค๋ค.

C ๋๋ผ์ด๋ธ๋ก ์ฎ๊ฒจ์ค ํ, sts-4.22.1.RELEASE ํด๋์ ๋ค์ด๊ฐ๋ฉด
SpringToolSuite4.exe๋ฅผ ์คํํ ์ ์๋ค.

SpringToolSuite4.exe๋ฅผ ์คํํ๋ฉด ์ด๋ฐ ์ฐฝ์ด ๋์จ๋ค.
workspace๋ฅผ ์ค์ ํ๋ ์ฐฝ์ด๊ณ ์ ์ฒดํฌ๋ฐ์ค๋ฅผ ๋๋ฅด๋ฉด ์ํฌ์คํ์ด์ค๋ฅผ ์ค์ ํ ๋ ๋ถํธํด์ง๊ธฐ๋๋ฌธ์ ์๋๋ฅด๋๊ฒ ์ข๋ค.

์ด๋ ๊ฒ ์คํํ๋ฉด์ด ๋์จ๋ค!
๋๋ ๋คํฌ๋ชจ๋๋ฅผ ์ ํธํ๊ธฐ๋๋ฌธ์ ๋คํฌ๋ชจ๋๋ก ๋ฐ๊ฟ์ค ๊ฒ์ด๋ค
ํ๋ก์ ํธ ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด
File > new > Spring Starter Project
์์๋๋ก ๋๋ฌ ํ๋ก์ ํธ ํ์ผ์ ๋ง๋ ๋ค.

Name๊ณผ Group์ ์ด๋ฆ์ ์์๋ก ์ค์ ํ๋ค.
Type์ Gradle๋ก ์ค์ ํ์๊ณ , Java Version์ 17๋ก ์ค์ ํ์๋ค. (์ง๊ธ ์ง๋๋๊ฐ๋ ํ์์์ Maven์ ์ฌ์ฉํ๊ณ ์์ง๋ง, Gradle์ Maven๊ณผ Apache Ant์ ์ฅ์ ๋ง์ ํฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Gradle๋ก ์ฐ์ตํ๊ณ ์ ํ๋ค)
์ค์ ์ด ์๋ฃ๋์์ผ๋ฉด next๋ฅผ ๋๋ฌ์ค๋ค.

Spring Boot Version์ ํ์์์์ ๋์ผํ๊ฒ 3.1.11์ ์ฌ์ฉํ์์ผ๋ 3.2.5๋ฅผ ์ฌ์ฉํด๋ ์๊ด ์๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฒดํฌํด์ค๋ค.
์ฒดํฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Selected์์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๊ฒ์์ ํ์ฌ ์ฐพ์ ์๋ ์๋ค.
ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ชจ๋ ์ฒดํฌํ๋ค๋ฉด Finish๋ฅผ ๋๋ฌ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.

์ค๋ฅธ์ชฝ ํ๋จ์์ import ์งํ์ํฉ์ ํ์ธํ ์ ์๊ณ , ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด Package Explorer์ ํ๋ก์ ํธ๊ฐ ๋ง๋ค์ด์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.

com.shop ์ ์ปค์๋ฅผ ๋๊ณ ์ฐํด๋ฆญ,
New > Package๋ฅผ ํด๋ฆญํ๋ค.


com.shop ํจํค์ง ์์
controller entity repository service ํจํค์ง๋ฅผ ๋ง๋ ๋ค.
๐ MySql์ค์น ๋ฐ ๊ณ์ ๋ง๋ค๊ธฐ
์ ๊ฒ์๋ฌผ์ ์ฐธ์กฐํ์ฌ ๊ณ์ ์ ๋ง๋ ๋ค.

Window > Preferences ๋ฅผ ์ฐ๋ค.
๊ทธ ํ ์๋ ์ฌ์ง์ฒ๋ผ ์ค์ ํด์ค๋ค.





Workspace CSS Files HTML Files JSP Files XML Files ์ ์ค์ ์
UTF-8๋ก ๋ณ๊ฒฝํ๋ค.

src/main/resources ์ ์๋ Application.properties ๋ฅผ ์ด์ด์ค๋ค

๋ค์ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๊ฐ๋ฐํ๊ฒฝ์ ์ค์ ํ๋ค.
โ ์ฝ๋๋ณ ์๋ฏธ
spring.jpa.properties.hibernate.show_sql=trueย ย ์คํ๋๋ ์ฟผ๋ฆฌ๋ฅผ ์ฝ์์ฐฝ์ ์ถ๋ ฅ
spring.jpa.properties.hibernate.format_sql=trueย ย ์ฝ์์ฐฝ์ ์ถ๋ ฅ๋๋ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๋ ์ฑ์ด ์ข๊ฒ ํจ
logging.level.org.hibernate.type.descriptor.sql=traceย ย ์ฟผ๋ฆฌ์ ? ๋ก ์ถ๋ ฅ๋๋ ๋ฐ์ธ๋ ํ๋ผ๋ฏธํฐ ์ถ๋ ฅ
spring.jpa.hibernate.ddl-auto=create spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialectย ย ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ด๊ธฐํ ์ ๋ต
spring.devtools.livereload.enabled=trueย ย ๋ผ์ด๋ธ Reload๊ธฐ๋ฅ ํ์ฑํ
spring.thymeleaf.cache=falseย ย cache ์ฌ์ฉ์ค์ง -> ํ์ ์ true

Application.properties๋ฅผ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐํ์ฌ
application-test.properties๋ฅผ ๋ง๋ ๋ค.

์ ์ฌ์ง์ฒ๋ผ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ๋ค.