๐Ÿฅ Web/โ›… Back-end | Spring

    [Spring ์ž…๋ฌธ] 5. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ์›น MVC ๊ฐœ๋ฐœ

    1. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ํ™ˆ ํ™”๋ฉด ์ถ”๊ฐ€ localhost:8080 ์œผ๋กœ ํ˜ธ์ถœ container์—์„œ ๋’ค์ง localhost:8080/ < ์ปจํŠธ๋กค๋Ÿฌ ์žˆ์Œ ์—ฐ๊ฒฐ! package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String Home() { return "home"; } } 2. ํšŒ์› ์›น ๊ธฐ๋Šฅ - ๋“ฑ๋ก package hello.hellospring.controller; import he..

    [Spring ์ž…๋ฌธ] 4. ์Šคํ”„๋ง ๋นˆ๊ณผ ์˜์กด๊ด€๊ณ„

    1. ์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์„ค์ • ํšŒ์› ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์„œ๋น„์Šค์™€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๊ธฐ → ์˜์กด๊ด€๊ณ„ ์ƒ์„ฑ package hello.hellospring.controller; import org.springframework.stereotype.Controller; @Controller public class MemberController { } @Controller ๋กœ annotation์„ ํ•˜๊ฒŒ๋˜๋ฉด ์Šคํ”„๋ง ๋นˆ์—์„œ ์–˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Œ. private final MemberService memberService; ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์— ๋“ฑ๋กํ•ด์„œ ํ•˜๋‚˜๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๊ณต์œ  @Controller public class MemberController { private final MemberService m..

    [Spring ์ž…๋ฌธ] 3. ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ - ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ

    1. ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ ์ •๋ฆฌ ๋ฐ์ดํ„ฐ ํšŒ์› ID ์ด๋ฆ„ ๊ธฐ๋Šฅ ํšŒ์› ๋“ฑ๋ก ์กฐํšŒ ์•„์ง DB ์„ ์ •ํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ ← ์ด๋ผ๋Š” ์„ค์ • ์ปจํŠธ๋กค๋Ÿฌ : ์›น MVC์˜ ์ปจํŠธ๋กค๋Ÿฌ (API ์ƒ์„ฑ ๋“ฑ) ์„œ๋น„์Šค : ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋„๋ฉ”์ธ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ / ๊ด€๋ฆฌ๋˜๋Š” ๊ฒƒ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ : ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ ‘๊ทผ / ๋„๋ฉ”์ธ ๊ฐ์ฒด๋ฅผ DB์— ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ตฌํ˜„ ํด๋ž˜์Šค ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค๊ณ„(DB ์„ ์ • ์•ˆ ํ•จ) ๊ตฌํ˜„์ฒด๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๊ฐ€๋ฒผ์šด ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋กœ ๊ฐœ๋ฐœ ์ง„ํ–‰ 2. ํšŒ์› ๋„๋ฉ”์ธ๊ณผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ 1. Member ํด๋ž˜์Šค ์ƒ์„ฑ package hello.hellospring.domain; public class Member { private Long id; // database index์— ๊ฐ€๊นŒ์›€ private String ..

    [Spring ์ž…๋ฌธ] 2. ์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ ๊ธฐ์ดˆ

    ์ •์  ์ปจํ…์ธ  = ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌ MVC & ํ…œํ”Œ๋ฆฟ ์—”์ง„ = html์„ ์„œ๋ฒ„์—์„œ ๊ฐ€๊ณตํ•ด์„œ ๋™์  ์ปจํ…์ธ ๋กœ ์ „๋‹ฌ API = json ๋ฐ์ดํ„ฐ ํฌ๋งท์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌ Vue.js, React ๋“ฑ์—์„œ ์‚ฌ์šฉ ์„œ๋ฒ„๋ผ๋ฆฌ ํ†ต์‹ ํ•  ๋•Œ 1. ์ •์  ์ปจํ…์ธ  Spring boot๋Š” static/ ํด๋”์—์„œ ์ •์  ์ปจํ…์ธ ๋ฅผ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•œ๋‹ค. ex) resources/static/hello-static.html ์ •์  ์ปจํ…์ธ  ์ž…๋‹ˆ๋‹ค. ํ๋ฆ„๋„ ์ฃผ์†Œ ์š”์ฒญ ๋ณด๋ƒ„ ํ†ฐ์บฃ ์„œ๋ฒ„์—์„œ ์ ‘์ˆ˜ ๋จผ์ € ์Šคํ”„๋ง ์ปจํ…Œ์ดํ„ฐ์—์„œ ์ปจํŠธ๋กค๋Ÿฌ ์žˆ๋Š”์ง€ ํ™•์ธ ์—†์œผ๋ฉด static ํ•˜์œ„์˜ ํŒŒ์ผ ์ฐพ์Œ ์žˆ์œผ๋ฉด ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ฆฌํ„ดํ•ด์คŒ 2. MVC์™€ ํ…œํ”Œ๋ฆฟ ์—”์ง„ MVC = Model View Controller ๊ณผ๊ฑฐ view์™€ controller๊ฐ€ ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š์•˜..

    [Spring ์ž…๋ฌธ] 1. ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •

    1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ project - Gradle spring boot version - 2.7.12 spring boot 3.x.x๋กœ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ java version์ด 17 ์ด์ƒ์ด์–ด์•ผํ•จ java version 12(11) artifact - output name package name = name.artifact ํ˜•ํƒœ๋กœ ํŒจํ‚ค์ง•๋จ Thymeleaf - template engine, ๋’ค์—์„œ ์„ค๋ช… spring web - web builder ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ src/main src/test ⇒ test ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์ค‘์š”์„ฑ์ด ๋Œ€๋‘๋˜๋Š” ์ค‘. build.gradle ⇒ ๋ฒ„์ „ ์„ค์ •, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋กœ๋“œ ๋“ฑ python virtual environment์—์„œ requirement.txt์ฒ˜๋Ÿผ depe..