๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Spring19

[TIL] 221117 - SpringBoot Part3 : AutoConfiguration SpringBoot Part3 (5) : AutoConfiguration ์Šคํ”„๋ง๋ถ€ํŠธ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ WAS๋กœ ๋ฐฐํฌํ•˜๋Š” ์ž‘์—…์ด ๊ท€์ฐฎ๊ณ  ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— SptingBoot๊ฐ€ ์ž๋™ํ™” ๋˜๊ฒŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์ค€๋‹ค. SpringBootApplication๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„๋‹จํžˆ ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค. @SpringBootApplication @ComponentScan(basePackages = "org.prgrms.kdt.customer") public class KdtApplication { public static void main(String[] args) { SpringApplication.run(KdtApplication.class, args); } } Configuration์—์„œ ํ•ด์คฌ๋˜ ์„ค์ •๋“ค์„ ํ™˜๊ฒฝ๋ณ€์ˆ˜ .. 2022. 11. 24.
[TIL] 221117 - SpringBoot Part3 : ๋‹จ์ผ ํŽ˜์ด์ง€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜, CORS SpringBoot Part3 (4) : ๋‹จ์ผ ํŽ˜์ด์ง€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜, CORS ๋‹จ์ผ ํŽ˜์ด์ง€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ URL ๋ณ€๊ฒฝ์‹œ ๋ชจ๋“  ํŽ˜์ด์ง€๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง ๋˜๋Š” ์ผ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋‹ฌ๋ฆฌ ํŠน์ • ์˜์—ญ๋งŒ ๋ Œ๋”๋ง๋œ๋‹ค. ์ด๋•Œ ์ฃผ๋กœ DOM ์กฐ์ž‘์„ ํ†ตํ•ด ๋ Œ๋”๋ง์ด ์ด๋ฃจ์›Œ์ง„๋‹ค. → ๊ณต์œ  ์ž์›์ธ server์— ์ด์ ‘์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. : ๋‹ค์ด๋‚˜๋ฏนํ•œ ๋ Œ๋”๋ง์„ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฒ˜๋ฆฌ : ํ™”๋ฉด์—์„œ ๊ทธ๋ ค์ ธ์•ผํ•  ๋ถ€๋ถ„์„ DOM ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด ๋™์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ทธ๋ฆฐ๋‹ค. : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋“œ๊ฐ€ ์ฒ˜์Œ์— ํ•œ๋ฒˆ๋˜๋ฉด ๊ทธ ๋‹ค์Œ๋ถ€ํ„ด AJAX๋ฅผ ์ด์šฉํ•ด url์ด ๋ณ€๊ฒฝ๋˜์ง€์•Š๊ณ  server์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. server๊ฐ€ ๊ทธ ์‘๋‹ต์„ ๋ฐ›์•„ JSON ์‘๋‹ต์„ ์ฃผ๊ณ  client๊ฐ€ JSON์„ parsingํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ , ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋กœ DOM ํ”„๋กœ๊ทธ.. 2022. 11. 24.
[TIL] 221115 - SpringBoot Part3 : Spring MVC - jsp, Thymeleaf SpringBoot Part3 (2) DispatchServlet Front Controller Pattern : ํ•˜๋‚˜์˜ servlet : Front contoller๊ฐ€ ๋ชจ๋“  ์š”์ฒญ์„ ๋ฐ›์•„ ๋‹ค๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๋กœ์ง์„ ์œ„์ž„ํ•œ๋‹ค. → Spring์€ Front Controller Pattern์„ ์‚ฌ์šฉํ•œ DispatchServlet์„ ์ œ๊ณต Spring MVC ์ฒ˜๋ฆฌ ํ๋ฆ„ DispatcherServlet์˜ HTTP ์š”์ฒญ ์ ‘์ˆ˜ DispatcherServlet์—์„œ ์ปจํŠธ๋กค๋Ÿฌ๋กœ HTTP ์š”์ฒญ ์œ„์ž„ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ชจ๋ธ ์ƒ์„ฑ๊ณผ ์ •๋ณด ๋“ฑ๋ก ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ฒฐ๊ณผ ๋ฆฌํ„ด: ๋ชจ๋ธ๊ณผ ๋ทฐ DispatcherServlet์˜ ๋ทฐ ํ˜ธ์ถœ๊ณผ (6) ๋ชจ๋ธ ์ฐธ์กฐ HTTP ์‘๋‹ต ๋Œ๋ ค์ฃผ๊ธฐ DispatchServlet ๋งŒ๋“ค๊ธฐ (HTTP ์š”์ฒญ ์ ‘์ˆ˜) WebApp.. 2022. 11. 22.
[TIL] 221114 - SpringBoot Part3 : ์›น ๊ธฐ์ˆ  Overview, Servelt SpringBoot Part3 (1) Web์˜ ๊ตฌ์„ฑ URI : ์›น์„ ๊ตฌ์„ฑํ•˜๋Š” ์ •๋ณด, ๋ฆฌ์†Œ์Šค๋“ค์„ ์‹๋ณ„ํ•˜๊ธฐ์œ„ํ•œ ์‹๋ณ„์ž ์ƒ๋Œ€ ๊ฒฝ๋กœ, ์ ˆ๋Œ€ ๊ฒฝ๋กœ (์‹œ์ž‘์  /foo/bar) ์ƒ๋Œ€ ๊ฒฝ๋กœ ๊ฒฐ๋Œ€ ๊ฒฝ๋กœ(/๋กœ ์‹œ์ž‘) hoge (./huge) /foo/bar/hoge hoge/fuga /foo/bar/hoge/fuga ../hoge /foo/hoge ../../foge /foge ./ → ํ˜„์žฌ๊ฒฝ๋กœ ../ → ๋ถ€๋ชจ๊ฒฝ๋กœ ํŠน์ •์œ„์น˜๋กœ ์˜ฎ๊ธธ๋•Œ ์ƒ๋Œ€๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค : ์ ˆ๋Œ€๊ฒฝ๋กœ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋„๋ฉ”์ธ๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ€ ์ž˜๋ชป๋œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์œ„ํ—˜์ด ์žˆ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž (ASCII ๋ฌธ์ž) : ์˜์–ด, ์ˆซ์ž, ํŠน์ • ๊ธฐํ˜ธ HTTP ํด๋ผ์ด์–ธํŠธ → ์›น ๋ธŒ๋ผ์šฐ์ € → OS → ํ˜ธ์ŠคํŠธ ์„œ๋ฒ„ ํŠน์ง• TCP/IP ๊ธฐ๋ฐ˜ ์š”์ฒญ/์‘๋‹ตํ˜• ํ”„๋กœํ† ์ฝœ ๋™๊ธฐํ˜• ํ”„.. 2022. 11. 22.
[TIL] 221110 - SpringBoot Part2 : Embedded DB, Named Parameter Template, ํŠธ๋žœ์žญ์…˜ SpringBoot Part2 (4) 1. Embedded DataBase ๊ธฐ์กด ํ…Œ์ŠคํŠธ : DB ๊ตฌ๋™์ด ๋˜์ง€์•Š์œผ๋ฉด ํ…Œ์ŠคํŠธ์— ์‹คํŒจํ•˜๋Š” ๊ตฌ์กฐ → ์™ธ๋ถ€ํ™˜๊ฒฝ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ํ…Œ์ŠคํŠธ → ํ…Œ์ŠคํŠธ ์ž๋™ํ™”(jenkins๊ฐ™์€ CI ํˆด์„ ์ด์šฉํ•œ) ๋ถˆ๊ฐ€ Spring์—์„œ Embedded Database ์ œ๊ณต Data Access Data Access The Data Access Object (DAO) support in Spring is aimed at making it easy to work with data access technologies (such as JDBC, Hibernate, or JPA) in a consistent way. This lets you switch between the aforementioned.. 2022. 11. 11.
[TIL] 221101 - SpringBoot Part1 : IoC, DDD, ApplicationContext SpringBoot Part1 (2) IoC (์ œ์–ด์˜ ์—ญ์ „) Inversion of Control : ์ž์‹ ์ด ์‚ฌ์šฉํ•  ๊ฐ์ฒด๋ฅผ ์Šค์Šค๋กœ ์„ ํƒํ•˜์ง€๋„, ์ƒ์„ฑํ•˜์ง€๋„ ์•Š๋Š”๋‹ค. : ์„œ๋ธ”๋ฆฟ, ์Šคํ”„๋ง๊ณผ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์ œ์–ด ๊ถŒํ•œ์ด ๊ฐ์ฒด ์ž์‹ ์—๊ฒŒ ์—†๊ณ  ํ”„๋ ˆ์ž„์›Œํฌ์— ์žˆ๊ฒŒ ๋œ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹จ์ง€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ๋ฐ˜ ์ œํ’ˆ์ด๋‚˜ ํ™•์žฅํ•ด์„œ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„๋œ ๋ฐ˜์ œํ’ˆ์ด ์•„๋‹Œ ์ „์ฒด ํ๋ฆ„์„ ์ œ์–ด์˜ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒŒ ๋œ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์„ ์ง์ ‘ ์ œ์–ดํ•˜์ง€๋งŒ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฑฐ๊พธ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์— ์˜ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์ฆ‰, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์งœ๋†“์€ ํ‹€์—์„œ ์ˆ˜๋™์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‚ด๊ฐ€ ํ˜ธ์ถœํ•˜์ง€์•Š๊ณ  ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ˜ธ์ถœํ• ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. OrderContext : .. 2022. 11. 3.