Hamutaro - Hamtaro 4

Spring 5

[SpringBoot] ์Šคํ”„๋ง๋ถ€ํŠธ +Thymeleaf + H2 Database + JPA - ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ค์ • ๋ฐ H2 DB ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

ํ™˜๊ฒฝIDE : VScodeJava : 17SpringBoot : v3.4.0Gradle : v8.11.1DB : H2  1.Spring Initializr ์ด์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ Packaging : JarJava version : 17 (์ž์‹ ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฒ„์ „. ํ„ฐ๋ฏธ๋„์—์„œ java -version ๋ช…๋ น์–ด๋กœ ํ™•์ธ)Dependencies : Spring Web, Spring Data JPA, H2 Database, LombokVScode Extensions : Spring Boot Extensions Pack, Java Extension Pack  2. application.properties (application.yml) ์„ค์ • ๋‚˜๋Š” yml์„ ์‚ฌ์šฉํ–ˆ๋‹ค.application.properties : ke..

Spring 2024.12.12

[SpringBoot] VSCODE์—์„œ Spring Boot ํ™˜๊ฒฝ์„ค์ •ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ

VSCODE์— ์Šคํ”„๋ง๋ถ€ํŠธ ํ™˜๊ฒฝ์„ค์ • 1. ์Šคํ”„๋ง๋ถ€ํŠธ ์ต์Šคํ…์…˜ ์„ค์น˜ํ•˜๊ธฐ์ต์Šคํ…์…˜์—์„œ Spring Boot Extension Pack์„ ๊ฒ€์ƒ‰ํ•ด์„œ install ํ•œ๋‹ค.   2. Ctrl + Shift + P ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆ„๋ฅธ๋‹ค. Spring Initializr: Create a Gradle Project... ๊ฒ€์ƒ‰ํ•ด์„œ ์„ ํƒํ•œ๋‹ค.   3. ์Šคํ”„๋ง๋ถ€ํŠธ ๋ฒ„์ „ ์„ ํƒ์›ํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ ์„ ํƒํ•œ๋‹ค.   4. ์–ธ์–ด ์„ ํƒ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.   5. ํ”„๋กœ์ ํŠธ Group Id ์„ค์ •๋””ํดํŠธ๋Š” com.example๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ด€์„ฑ ์žˆ๊ฒŒ ์„ค์ •ํ•ด์ค€๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋””ํดํŠธ๋กœ ์„ค์ •ํ–ˆ๋‹ค.   6. ํ”„๋กœ์ ํŠธ Artifact Id ์„ค์ •์ด๊ฒƒ๋„ ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ด€์„ฑ ์žˆ๊ฒŒ ์„ค์ •ํ•ด์ค€๋‹ค. ๋””ํดํŠธ๋Š” demo์ด๋‹ค.   7. ๋นŒ๋“œ ..

Spring 2024.10.30

[Spring] Maven๊ณผ Gradle์˜ ์ฐจ์ด์ 

Maven 1. ๊ตฌ๋ฌธ ๋ฐ ๊ตฌ์„ฑXML ๊ธฐ๋ฐ˜์˜ pom.xml ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์˜์กด์„ฑ, ํ”Œ๋Ÿฌ๊ทธ์ธ, ๋นŒ๋“œ ์„ค์ • ์ •์˜ํ•จ2. ์˜์กด์„ฑ ๊ด€๋ฆฌ์ค‘์•™ ์ €์žฅ์†Œ์™€ ์ง€์—ญ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์กด์„ฑ ๊ด€๋ฆฌ3. ๋นŒ๋“œ ์†๋„XML ๊ธฐ๋ฐ˜์˜ ์ •์  ๊ตฌ์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋นŒ๋“œ ๊ณผ์ •์ด ๋‹จ์ˆœํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ๋А๋ฆผ4. ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ ํ™•์žฅ์„ฑ๋งŽ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์กด์žฌํ•˜๋ฉฐ XML ์„ค์ •์œผ๋กœ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ Gradle 1. ๊ตฌ๋ฌธ ๋ฐ ๊ตฌ์„ฑGroovy ๋˜๋Š” Kotlin DSL์„ ์‚ฌ์šฉํ•˜์—ฌ build.gradle ๋˜๋Š” build.gradle.kts ํŒŒ์ผ๋กœ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ๊ธฐ๋ฐ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ ์—ฐ์„ฑ์ด ๋†’์Œ2. ์˜์กด์„ฑ ๊ด€๋ฆฌ์˜์กด์„ฑ ๊ด€๋ฆฌ๊ฐ€ ์ข€ ๋” ์œ ์—ฐํ•˜๋ฉฐ, implementation, api ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€์˜ ์˜์กด์„ฑ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•จ3. ๋นŒ๋“œ ์†๋„๋นŒ๋“œ ์บ์‹œ, ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋“ฑ ๋‹ค์–‘..

Spring 2024.08.29

[Spring] MVC (Model, View,Controller) ํŒจํ„ด

MVC ํŒจํ„ด์ด๋ž€? Model, View, Controller์˜ ์•ฝ์ž๋กœ ๋””์ž์ธ ํŒจํ„ด์˜ ํ•˜๋‚˜์ด๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ์ฒ˜๋ฆฌ ๋กœ์ง๊ณผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ๋ถ„์‹œ์ผœ ์„œ๋กœ ์˜ํ–ฅ์—†์ด ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ๋ชจ๋ธ(Model)์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์ƒ์ˆ˜, ๋ณ€์ˆ˜๋ทฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐฑ์‹ ํ•จ๋ทฐ(View)์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ์˜์—ญ. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ์ปจํŠธ๋กค๋Ÿฌ(Controller)๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋‹ค๋ฆฌ ์—ญํ• ์ด๋ฒคํŠธ ๋“ฑ ๋ฉ”์ธ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•จMVC ํŒจํ„ด์˜ ์žฅ์ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์„ธ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ”์œผ๋กœ์จ ๊ฐ๊ฐ์˜ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค.์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ์šฉ์ดMVC ํŒจํ„ด์˜ ๋‹จ์ ํ”„๋กœ๊ทธ๋žจ์ด ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ๋ชจ๋ธ๊ณผ ๋ทฐ์˜ ๊ด€๊ณ„๋˜ํ•œ ๋ณต์žกํ•ด์ง

Spring 2022.01.12

[Spring] ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ (Spring Framework)

ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๊ฐœ๋… ๊ตฌ์กฐ๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ํ‹€, ๋ผˆ๋Œ€๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.ํ‹€์„ ๋งŒ๋“ค์–ด๋†“๊ณ  ์‚ด์„ ๋ถ™์—ฌ ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํŠน์ •๊ฐœ๋…๋“ค์˜ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋‚˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.  ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ž๋ฐ” ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐ„๋‹จํžˆ ์Šคํ”„๋ง์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.์ž๋ฐ” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฐœ๋ฐœ์„ ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฒฝ๋Ÿ‰๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.์ž๋ฐ”๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ‹€๋กœ, ์ข…์† ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ  ์กฐ๋ฆฝํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.  ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ํŠน์ง• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ฐ„์˜ ๊ฒฐํ•ฉ์ด ๋А์Šจํ•˜๋‹ค.์ œ์–ด์˜ ์—ญํ–‰(IoC, Inversion of Control) ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปจํŠธ๋กค์˜ ์ œ์–ด๊ถŒ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋ ˆ์ž„์›Œํฌ์— ..

Spring 2021.08.20