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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ69

[TIL] 221107 - SpringBoot Part2 : Spring Test ์‹œ์ž‘ํ•˜๊ธฐ SpringBoot Part2 - Spring Test ์‹œ์ž‘ํ•˜๊ธฐ 1. ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ… ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒฐํ•จ์„ ์ฐพ๋Š” ๊ณผ์ • https://martinfowler.com/bliki/TestPyramid.html Testing Level Unit tests Integration tests Component tests End-to-end tests 2. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ : ๋ณดํŽธ์ ์œผ๋กœ ํ•˜๋‚˜์˜ class์— ํ•˜๋‚˜์˜ ๋‹จ์œ„ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. : ๊ณ ๋ฆฝํ•ด์„œ ํ…Œ์ŠคํŠธ ํ•œ๋‹ค. : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์„๋•Œ ๊ธฐ์กด ๊ธฐ๋Šฅ๋“ค์ด ๋‹จ์œ„ํ…Œ์ŠคํŠธ์— ์˜ํ•ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ(ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค) ์ž์ฒด๊ฐ€ ๊ธฐ๋Šฅ ๋ช…์„ธ์„œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. : Spring ํ™˜๊ฒฝ์—์„œ๋„ ์ œ๊ณต์ด ๋˜๋‚˜ ํ•˜๋‚˜์˜ class์˜ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•œ ํ…Œ์Šค.. 2022. 11. 8.
[TIL] 221104 - SpringBoot Part1 : logging, SpringBoot SpringBoot Part1 (5) logging ๋กœ๊น…์ด๋ž€ ? : ๋กœ๊ทธ ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์— ๊ด€๊ณ„๋œ ์ผ๋ จ์˜ ์‚ฌ๊ฑด์„ ์‹œ๊ฐ„์˜ ๊ฒฝ๊ณผ์— ๋”ฐ๋ผ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด๋‹ค. Java Logging Framework java.util.logging → ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•ด์„œ ์ž˜ ์•ˆ์‚ฌ์šฉํ•œ๋‹ค. Apache Commons logging Log4J Logback → ํ˜„์žฌ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋จ. Log4J ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋ฒ„์ „. springboot๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•จ SLF4J(Simple Logging Facade for Java) ! println์€ ๋‚ด๋ถ€์— synchronized๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. → ์šด์˜ํ• ๋•Œ ์“ฐ๋ฉด ์•ˆ๋œ๋‹ค. SLF4J Logging Framework๋“ค์„ ์ถ”์ƒํ™”ํ•ด ๋†“์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Facade ํŒจํ„ด์„ ์ด์šฉํ•œ ํ”„.. 2022. 11. 6.
[TIL] 221103 - SpringBoot Part1 - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†์„ฑ ๊ด€๋ฆฌ SpringBoot Part1 (4) 1. Enviroment profile ApplicationContext๋Š” EnvironmentCapable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์œผ๋ฉฐ getEnvironment() ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. profile์— ๋”ฐ๋ผ ํ™˜๊ฒฝ์ด ๋ฐ”๋€Œ๊ณ  ๊ทธ์— ๋”ฐ๋ผ properties๊ฐ€ ๋ฐ”๋€๋‹ค. properties : ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†์„ฑ์„ property๋กœ ์ •์˜ํ•˜๊ณ  ์„ค์ •ํ•œ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. resources > application.properties : springboot์—์„œ default๋กœ ์‚ฌ์šฉํ•˜๋Š” property ํŒŒ์ผ : key/value ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ version = v1.0.0 kdt.version = v1.0.0 kdt.support-vendors = a,b,c,d,.. 2022. 11. 6.
[TIL] 221102 - SpringBoot Part1 : Dependecy injection, ์ปดํฌ๋„ŒํŠธ ์Šค์บ” SpringBoot Part1 (3) Dependecy injection, Circular Dependency IoC๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‹ค์–‘ํ•œ ํŒจํ„ด๋“ค(์ „๋žต ํŒจํ„ด, ์„œ๋น„์Šค ๋กœ์ผ€์ดํ„ฐ ํŒจํ„ด, ํŒฉํ† ๋ฆฌ ํŒจํ„ด, ์˜์กด๊ด€๊ณ„ ์ฃผ์ž… ํŒจํ„ด) ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ฐ์ฒด๋ฅผ ์ฃผ์ž…๋ฐ›๋Š” ์ฑ„ํ„ด์„ ์ƒ์„ฑ์ž ์ฃผ์ž… ํŒจํ„ด์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ๊ทธ ์™ธ์—๋„ ์Šคํ”„๋ง์€ ์„ธํ„ฐ ๊ธฐ๋ฐ˜์˜ ์˜์กด ๊ด€๊ณ„๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Dependency Resoulation Precess ์˜์กด๊ด€๊ณ„๊ฐ€ ํ˜•์„ฑ๋œ๋‹ค. ApplicationContext๋ฅผ ๋งŒ๋“ค์–ด์งˆ๋•Œ Configuration Metadata๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ๊ทธ ์•ˆ์— Bean๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค. ( new AnnotationConfigApplicationContext(AppConfiguration.class) ) ์ด๋•Œ ๊ฐ Bean์— ๋Œ€ํ•œ ์˜์กด๊ด€๊ณ„๊ฐ€.. 2022. 11. 3.
[TIL] 221101 - SpringBoot Part1 : IoC, DDD, ApplicationContext SpringBoot Part1 (2) IoC (์ œ์–ด์˜ ์—ญ์ „) Inversion of Control : ์ž์‹ ์ด ์‚ฌ์šฉํ•  ๊ฐ์ฒด๋ฅผ ์Šค์Šค๋กœ ์„ ํƒํ•˜์ง€๋„, ์ƒ์„ฑํ•˜์ง€๋„ ์•Š๋Š”๋‹ค. : ์„œ๋ธ”๋ฆฟ, ์Šคํ”„๋ง๊ณผ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์ œ์–ด ๊ถŒํ•œ์ด ๊ฐ์ฒด ์ž์‹ ์—๊ฒŒ ์—†๊ณ  ํ”„๋ ˆ์ž„์›Œํฌ์— ์žˆ๊ฒŒ ๋œ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹จ์ง€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ๋ฐ˜ ์ œํ’ˆ์ด๋‚˜ ํ™•์žฅํ•ด์„œ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„๋œ ๋ฐ˜์ œํ’ˆ์ด ์•„๋‹Œ ์ „์ฒด ํ๋ฆ„์„ ์ œ์–ด์˜ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒŒ ๋œ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์„ ์ง์ ‘ ์ œ์–ดํ•˜์ง€๋งŒ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฑฐ๊พธ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์— ์˜ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์ฆ‰, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์งœ๋†“์€ ํ‹€์—์„œ ์ˆ˜๋™์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‚ด๊ฐ€ ํ˜ธ์ถœํ•˜์ง€์•Š๊ณ  ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ˜ธ์ถœํ• ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. OrderContext : .. 2022. 11. 3.
[TIL] 221031 - SpringBoot Part1 SpringBoot Part1 (1) Spring ๊ธฐ์ดˆ์˜ ๋ชฉํ‘œ Spring Framework ํ•ต์‹ฌ ๊ฐœ๋…๋“ค์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. Spring Framework Core ๋ชจ๋“ˆ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. Spring Framework JDBC ๋ชจ๋“ˆ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. Spring Framework ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. Spring Boot๋กœ ์Šคํ”„๋ง ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•œ๋‹ค. ์Šคํ”„๋ง(๋ถ€ํŠธ) ์‹œ์ž‘ํ•˜๊ธฐ Spring Boot ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ Spring Framework์ดํ•ดํ•˜๊ธฐ ์Šคํ”„๋ง ๋ถ€ํŠธ ์ดํ•ดํ•˜๊ธฐ ๋ฐ์ดํ„ฐ๋กœ ์ž‘์—…ํ•˜๊ธฐ ๋ฐ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ JDBC ์ด์šฉ Spring Framework์˜ JdbcTemplate ์‚ฌ์šฉ AOP ์ดํ•ดํ•˜๊ธฐ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœํ•˜๊ธฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ดํ•ดํ•˜๊ธฐ ๊ฐ„๋‹จํ•œ ์„œ๋ธ”๋ฆฟ ๋ง›๋ณด๊ธฐ ์Šคํ”„๋ง MVC ๋™์ž‘์›๋ฆฌ ์ดํ•ดํ•˜๊ธฐ CO.. 2022. 11. 2.