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

Back-end ๋ฐ๋ธŒ์ฝ”์Šค/week 03 - 05 TIL (Spring)15

[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] 221116 - SpringBoot Part3 : WebApplicationContext, REST API SpringBoot Part3 (3) Form @Controller public class CustomerController { private static final Logger logger = LoggerFactory.getLogger(CustomerController.class); private final CustomerService customerService; public CustomerController(CustomerService customerService) { this.customerService = customerService; } @GetMapping( "/customers") public String findCustomers(Model model){ var allCustomers = .. 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] 221111 - SpringBoot Part2 : ํŠธ๋žœ์žญ์…˜๊ณผ AoP SpringBoot Part2 (5) AoP - ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ,๊ด€์‹ฌ ์ง€ํ–ฅ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ Cross Cutting Concern https://www.codejava.net/frameworks/spring/understanding-spring-aop : ์ค‘๋ณต์ฝ”๋“œ๋ฅผ ์ผ์ผํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํ–‰๋‹จ์œผ๋กœ ๊ฑธ์ณ์„œ ์ ์šฉํ•ด์•ผํ•˜๋Š” ๋ถ€๊ฐ€๊ธฐ๋Šฅ(Cross Cutting Concern)์„ ๋ถ„๋ฆฌํ•ด์„œ ๋ฐฉ์‹ ํ•ต์‹ฌ๋กœ์ง์— ๋ถ€๊ฐ€๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ• ์ˆ˜ ์žˆ๊ฒŒํ•œ๋‹ค. class ๊ณ„์ขŒ์ด์ฒด์„œ๋น„์Šค { method ์ด์ฒด() { AAAA ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง BBBB } method ๊ณ„์ขŒํ™•์ธ() { AAAA ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง BBBB } } class ๋Œ€์ถœ์Šน์ธ์„œ๋น„์Šค { method ์Šน์ธ() { AAAA ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง BBBB } } ๋น„์ง€๋‹ˆ์Šค ๋ฉ”์†Œ๋“œ๋Š” ๋น„.. 2022. 11. 22.