๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

Spring๐Ÿ€23

Spring Bean ์ •๋ฆฌ Spring Bean ์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ? => ์Šคํ”„๋ง IOC ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Spring IOC ์ปจํ…Œ์ด๋„ˆ๋ž€ ๋ฌด์—‡์ผ๊นŒ? => ๋นˆ(bean)์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค. ApplicationContext ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ Spring IOC์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋Œ€ํ‘œํ•˜๊ณ  ๋นˆ์„ ์ธ์Šคํ„ด์Šคํ™”ํ•˜๊ณ  ๊ตฌ์„ฑ ๋ฐ ๋ชจ์œผ๋Š” ์ฑ…์ž„์ด ์žˆ๋‹ค๋ผ๊ณ  ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋นˆ์„ ์„ค๋ช…ํ•˜๋Š”๋ฐ IOC์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์“ฐ์ด๊ณ  IoC ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์„ค๋ช…ํ•˜๋Š”๋ฐ ๋นˆ์ด ์“ฐ์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋‹ค. ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋นˆ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๊ต‰์žฅํžˆ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋น„์Šทํ•œ ๊ฐœ๋…์„ ๊ฐ€์ง„ ๋‹ค์–‘ํ•œ ์šฉ์–ด๋“ค์ด ํ˜ผ์šฉ๋˜๋ฏ€๋กœ ๋‹จ์–ด ์ž์ฒด๊ฐ€ ๋ชจํ˜ธํ•ด์ ธ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์™œ ์Šคํ”„๋ง ๋นˆ์ด ํ•„์š”ํ•˜๊ณ , ์Šคํ”„๋ง IOC์ปจํ…Œ์ด๋„ˆ๋Š” ์™œ ๋นˆ์„ ๊ด€๋ฆฌํ•˜๋Š”์ง€ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. 1. ๋นˆ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์„ค์ •ํ• .. 2022. 10. 23.
JDBC,SQLMAPPER ์ •๋ฆฌ JDBC, SQLMAPPER, ORM ์ด 3๊ฐ€์ง€์˜ ๊ณตํ†ต์ ์ด ๋ญ˜๊นŒ? => Persistance (์˜์†์„ฑ) ๊ทธ๋ ‡๋‹ค๋ฉด Persistance (์˜์†์„ฑ) ์ด๋ž€ ๋ญ˜๊นŒ? => ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์ด ์ข…๋ฃŒ๋˜๋”๋ผ๋„ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ ์„ ๋งํ•œ๋‹ค. +๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์šฐ๋ฆฌ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ์„ธ์Šค ๊ณผ์ •์—์„œ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. ๊ทธ ๋ฐ์ดํ„ฐ๋Š” RAM์— ์žˆ์œผ๋ฉฐ, RAM์˜ ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š”๋ฐ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ง์ ์œผ๋กœ ๋งŒ๋“ค์–ด ์–˜๋„ค๋“ค์„ ์ €์žฅํ•˜๊ณ  ์‹ถ๋‹ค๋Š”๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์˜๊ตฌํžˆ ์ €์žฅ๋˜๋Š” ๊ทธ ์–ด๋–ค๊ฒƒ์„ ๋‘๊ณ  '์˜์†์„ฑ' ์ด๋‹ค ๋ผ๊ณ  ํ•œ๋‹ค. ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ• ๋•Œ ์•„๋ž˜ '๋ ˆ์ด์–ด๋“œ ์•„ํ‚คํ…์ฒ˜' ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ๋„๋ฉ”์ธ ๋ชจ๋ธ์—์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์ณ DB์— ๋„ฃ์–ด์•ผ ๋˜๋Š”๋ฐ ๊ทธ ์‚ฌ์ด์— ์–ด๋– ํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ.. 2022. 10. 22.
spring MVC(๋ชจ๋ธ2, DispatcherServlet) ์ •๋ฆฌ ์Šคํ”„๋ง MVC ๋Š” ๋ชจ๋ธ2 ๋ฐฉ์‹ ๊ตฌ์กฐ๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ชจ๋ธ2 ๋ฐฉ์‹์€ ๋ญ˜๊นŒ? = > ๋ชจ๋ธ2: ์›น ๊ฐœ๋ฐœ์‹œ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๐Ÿ™„๋ชจ๋ธ2๊ฐ€ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ ๋งŒ ํ•˜๋‹ˆ ์ดํ•ด๊ฐ€ ์•ˆ ๊ฐ„๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ => ํ™”๋ฉด์„ ๋‹ด๋‹นํ•˜๋Š” View ์ ์ธ ๋ถ€๋ถ„๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•œ๊ฒƒ์œผ๋กœ ๋””์ž์ด๋„ˆ , ๊ฐœ๋ฐœ์ž๋ฅผ ๋ถ„๋ฆฌ ์‹œ์ผœ์„œ ์ž‘์—…ํ•˜๊ธฐ ํŽธํ•˜๊ณ , ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋ฅผ ๋งํ•œ๋‹ค. ๋งŒ์•ฝ์— ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต๊ฐ„์—์„œ ์ฝ”๋“œ๋ฅผ ์ง ๋‹ค๋ฉด ๋งค์šฐ ์„œ๋กœ์„œ๋กœ ๋ถˆํŽธํ• ๊ฒƒ์ด๋‹ค. ๋ชจ๋ธ 2๋ฐฉ์‹์ธ MVC์˜ ์˜๋ฏธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž MVC ๋Š” ๋ชจ๋ธ(model), ๋ทฐ(view), ์ปจํŠธ๋กค๋Ÿฌ(Controller) ์ด๋ฉฐ, ๋ชจ๋ธ: ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„ ๋ทฐ : ํ™”๋ฉด์„ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„ ์ปจํŠธ๋กค๋Ÿฌ: ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋ทฐ์™€ ๋ชจ๋ธ ์‚ฌ์ด์˜ ํ†ต์‹ .. 2022. 10. 20.
๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ - AppConfig ํŒŒ์ผ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์„ค์ •ํ•œ๋‹ค. - AppConfig ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ค์ œ ๋™์ž‘์— ํ•„์š”ํ•œ '๊ตฌํ˜„ ๊ฐ์ฒด' ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. AppConfig๋Š” ์ƒ์„ฑํ•œ ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค์˜ ์ฐธ์กฐ(๋ ˆํผ๋Ÿฐ์Šค)๋ฅผ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด์„œ ์ฃผ์ž…(์—ฐ๊ฒฐ)ํ•ด์ค€๋‹ค. - MemberServiceImpl ์—์„œ MemoryMemberRepository() ์—ฐ๊ฒฐ - OrderServiceImpl ์—์„œ MemoryMemberRepository() ์™€ FixDiscountPolicy() ์—ฐ๊ฒฐ service == interface MemberService ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์ด๊ณ , MemberSerivce๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๊ฒƒ์ด MemberSerivceImpl ์ด๋‹ค. MemberSerivceImpl ๋Š” MemberReository๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค.. 2022. 10. 1.
728x90
๋ฐ˜์‘ํ˜•