Spring/Spring ์ž…๋ฌธ

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (11) ํšŒ์› ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ

ํด๋ž˜์Šค์—์„œ Command + Shift + T : Create Test ํšŒ์›๊ฐ€์ž… ๋ฉ”์„œ๋“œ ํ…Œ์ŠคํŠธ class MemberServiceTest { MemberService memberService = new MemberService(); @Test void ํšŒ์›๊ฐ€์ž…() { // ํ…Œ์ŠคํŠธ๋Š” ์ง๊ด€์ ์œผ๋กœ ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค //given ๋ฌด์–ธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ , ๋ฐ์ดํ„ฐ Member member = new Member(); member.setName("hello"); //when ์ด๊ฒƒ์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ , ๊ฒ€์ฆ Long saveId = memberService.join(member); //then ๊ฒฐ๊ณผ๊ฐ€ ์ด๋ ‡๊ฒŒ ๋‚˜์˜จ๋‹ค , Member findMember = memberService.findOne(save..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (10) ํšŒ์› ์„œ๋น„์Šค ๊ฐœ๋ฐœ

ํšŒ์› ์„œ๋น„์Šค ํด๋ž˜์Šค ๋งŒ๋“ค๊ธฐ ํšŒ์› Repository ์™€ domain์„ ํ™œ์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ž‘์„ฑ package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import java.util.Optional; public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); /** * ํšŒ์› ๊ฐ€์ž… */ pu..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (9) ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

๊ฐœ๋ฐœํ•œ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ด์„œ ํ…Œ์ŠคํŠธํ•  ๋•Œ ์ž๋ฐ”์˜ main ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ์ค€๋น„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š”๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ , ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ ๋ฒˆ์— ์‹คํ–‰ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ์ž๋ฐ”๋Š” JUnit์ด๋ผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ด์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌํ˜„์ฒด ํ…Œ์ŠคํŠธ package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.junit.jupiter.api.Test; public class MemoryMemberRepositoryTest { MemoryMemberRepository reposit..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (8) ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ

๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ ์ •๋ฆฌ ๋ฐ์ดํ„ฐ: ํšŒ์›ID, ์ด๋ฆ„ ๊ธฐ๋Šฅ: ํšŒ์› ๋“ฑ๋ก, ์กฐํšŒ ์•„์ง ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๊ฐ€ ์„ ์ •๋˜์ง€ ์•Š์Œ(๊ฐ€์ƒ์˜ ์‹œ๋‚˜๋ฆฌ์˜ค) ํšŒ์› ๋„๋ฉ”์ธ๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ ํšŒ์› ๊ฐ์ฒด domain ํŒจํ‚ค์ง€์— Member ํด๋ž˜์Šค ์ƒ์„ฑ hello.hellospring.domain package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { th..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (7) API

API ๋ž€? Application Programming Interface์˜ ์•ฝ์ž. https://uhhyunjoo.tistory.com/50 [Spring] API ๋ฐฉ์‹ API ๋ž€? Application Programming Interface์˜ ์•ฝ์ž. Appllication Programming ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋œปํ•˜๊ณ , ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ์‹œ์Šคํ…œ์ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋„๋ก ์ด์–ด์ฃผ๋Š” ๊ฒฝ๊ณ„๋ฅผ ๋œปํ•œ๋‹ค. ์ฆ‰, API๋Š” ์šด์˜ uhhyunjoo.tistory.com Appllication Programming ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ์‹œ์Šคํ…œ์ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋„๋ก ์ด์–ด์ฃผ๋Š” ๊ฒฝ๊ณ„๋ฅผ ๋œปํ•œ๋‹ค. ์ฆ‰, API๋Š” ์šด์˜์ฒด์ œ์™€ ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด๋‚˜ ๋ฉ”์‹œ์ง€ ํ˜•์‹์„ ๋งํ•œ๋‹ค. ..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (6) MVC์™€ ํ…œํ”Œ๋ฆฟ ์—”์ง„

MVC: Model, View, Controller ์˜ˆ์ „์—๋Š” view์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค ํ–ˆ์—ˆ์Œ ( ๋ชจ๋ธ 1 ๋ฐฉ์‹ ) --> ์—ญํ•  ๋ถ„๋‹ด Controller ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ด€๋ จ , ๋‚ด๋ถ€์ ์ธ ๊ฒƒ์„ ์ฒ˜๋ฆฌ์— ์ง‘์ค‘ @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model){ model.addAttribute("name",name); return "hello-template"; } @ReuqestParam ์„ ์ด์šฉํ•œ ๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ ๋”๋ณด๊ธฐ public String helloMvc(@RequestParam("name") String name, Model model){ @RequestParam("๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (5) ์ •์  ์ปจํ…์ธ 

์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ ๊ธฐ์ดˆ -์ •์  ์ฝ˜ํ…์ธ  ๊ทธ๋ƒฅ ํŒŒ์ผ์„ ์›น๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌ -MVC์™€ ํ…œํ”Œ๋ฆฟ ์—”์ง„ Model/View/Controller , ํ…œํ”Œ๋ฆฟ ์—”์ง„ : html์„ ๋™์ ์œผ๋กœ ๋ฐ”๊พธ์–ด ๋ณด๋‚ด์คŒ ์„œ๋ฒ„์—์„œ ๋ณ€ํ˜•์—์„œ ๋ฐ”๊พธ์–ด ๋ณด๋ƒ„ -API Json ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํฌ๋งท์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌ https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content Spring Boot Features Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, To..

Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (4) ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ

๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์ฝ˜์†”๋กœ ์ด๋™ 1. ./gradlew build 2. cd build/libs 3. java -jar hello-spring-0.0.1-SNAPSHOT.jar 4. ์‹คํ–‰ ํ™•์ธ ๋นŒ๋“œ ์„ฑ๊ณต .jar ํŒŒ์ผ ์„œ๋ฒ„์— ํ•˜๋‚˜๋งŒ ๋„ฃ์–ด๋‘๊ณ  ์‹คํ–‰ํ•˜๋ฉด ๊ฐ€๋™ ๋นŒ๋“œ,์ปดํŒŒ์ผ,๋ฐฐํฌ์˜ ๊ฐœ๋… https://velog.io/@leede418/CS-Compile-Link-Build-%EB%9E%80 [CS] Compile, Link, Build ๋ž€? CS ๊ธฐ์ดˆ๋ฅผ ๋‹ค์žก์„๊ฒธ Compile, Link, Build์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. velog.io

hello_u
'Spring/Spring ์ž…๋ฌธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)