๋ฐฑ์—”๋“œ(Back-End) ๊ฐœ๋ฐœ/SpringBoot
[SpringBoot] 4_์Šคํ”„๋ง ๋นˆ๊ณผ ์˜์กด๊ด€๊ณ„
2025.02.25
์Šคํ”„๋ง ๋นˆ์„ ๋“ฑ๋กํ•˜๊ณ , ์˜์กด๊ด€๊ณ„ ์„ค์ •ํ•˜๊ธฐ * ํšŒ์› ์ปจํŠธ๋กค๋Ÿฌ์— ์˜์กด๊ด€๊ณ„ ์ถ”๊ฐ€package hello.hello_spring.controller;import hello.hello_spring.service.MemberService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;@Controllerpublic class MemberController { private final MemberService memberService; //์ƒ์„ฑ์ž ์ƒ์„ฑ ๋‹จ์ถ•ํ‚ค : alt + Insertํ‚ค @Autowired // ์˜์กด๊ด€๊ณ„ ์ฃผ์ž… public Memb..
๋ฐฑ์—”๋“œ(Back-End) ๊ฐœ๋ฐœ/SpringBoot
[SpringBoot] 3.3_ํšŒ์› ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ
2025.02.25
ํšŒ์› ๊ฐ€์ž… & ํšŒ์› ์กฐํšŒpackage hello.hello_spring.service;import hello.hello_spring.domain.Member;import hello.hello_spring.repository.MemberRepository;import hello.hello_spring.repository.MemoryMemberRepository;import java.util.List;import java.util.Optional;public class MemberService { // private final MemberRepository memberRepository = new MemoryMemberRepository(); // DI (์˜์กด์„ฑ ์ฃผ์ž…) ํŒจํ„ด์œผ๋กœ ๋ฐ”๊พธ๊ธฐ pri..
๋ฐฑ์—”๋“œ(Back-End) ๊ฐœ๋ฐœ/SpringBoot
[SpringBoot] 3.2_ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ
2025.02.25
๊ฐœ๋ฐœํ•œ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ด์„œ ํ…Œ์ŠคํŠธ ํ•  ๋•Œ ์ž๋ฐ”์˜ main ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ์ค€๋น„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š”๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ , ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋ฒˆ์— ์‹คํ–‰ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ์ž๋ฐ”๋Š” JUnit์ด๋ผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ด์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.  * ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌํ˜„์ฒด ํ…Œ์ŠคํŠธ (src/test/java ํ•˜์œ„ ํด๋”์— ์ƒ์„ฑ) package hello.hello_spring.repository;import hello.hello_spring.domain.Member;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.AfterEach;i..
๋ฐฑ์—”๋“œ(Back-End) ๊ฐœ๋ฐœ/SpringBoot
[SpringBoot] 3.1_ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ตฌํ˜„
2025.02.25
๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ ์ •๋ฆฌ๋ฐ์ดํ„ฐ : ํšŒ์›ID, ์ด๋ฆ„๊ธฐ๋Šฅ : ํšŒ์› ๋“ฑ๋ก, ์กฐํšŒ์•„์ง ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๊ฐ€ ์„ ์ •๋˜์ง€ ์•Š์Œ(๊ฐ€์ƒ์˜ ์‹œ๋‚˜๋ฆฌ์˜ค)* ์ผ๋ฐ˜์ ์ธ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๊ตฌ์กฐ์ปจํŠธ๋กค๋Ÿฌ -> ์„œ๋น„์Šค -> ๋ฆฌํฌ์ง€ํ† ๋ฆฌ -> ( DB )              \         |           /                  ( ๋„๋ฉ”์ธ)์ปจํŠธ๋กค๋Ÿฌ : ์›น MVC์˜ ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ• ์„œ๋น„์Šค : ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ตฌํ˜„๋ฆฌํฌ์ง€ํ† ๋ฆฌ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผ, ๋„๋ฉ”์ธ ๊ฐ์ฒด๋ฅผ DB์— ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌ๋„๋ฉ”์ธ : ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ ๊ฐ์ฒด, ex) ํšŒ์›, ์ฃผ๋ฌธ, ์ฟ ํฐ ๋“ฑ๋“ฑ ์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌ๋จ  ํšŒ์› ๋„๋ฉ”์ธ๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ * ํšŒ์› ๊ฐ์ฒดpackage hello.hello_spring.domain;public class Member {..
๋ฐฑ์—”๋“œ(Back-End) ๊ฐœ๋ฐœ/SpringBoot
[SpringBoot] 2.3_API (@ResponseBody)
2025.02.25
@ResponseBody ๋ฌธ์ž ๋ฐ˜ํ™˜package hello.hello_spring.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.service.annotation.GetExchange;@Controllerpubli..