๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
AspectJ Weaver๋ฅผ ์‚ฌ์šฉํ•œ XML ๊ธฐ๋ฐ˜์˜ ์Šคํ”„๋ง AOP ๊ตฌํ˜„ ๋ฐฉ๋ฒ• AspectJ Weaver๋ฅผ ์‚ฌ์šฉํ•œ XML ๊ธฐ๋ฐ˜์˜ ์Šคํ”„๋ง AOP ๊ตฌํ˜„ ๋ฐฉ๋ฒ• AOP๋ž€? - Aspect Oriented Programming : ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - OOP ์™€ ๋ถ„๋ฆฌ๋œ ๊ฐœ๋…์ด ์•„๋‹ˆ๋ผ, OOP์— ๊ธฐ์ดˆ๋ฅผ ๋‘๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ - ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๊ด€์ (ํ˜น์€ ๊ด€์‹ฌ์‚ฌ)๋ผ๋Š” ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐœ๋… - ๋กœ๊น…, ๊ฐ์‚ฌ, ์„ ์–ธ์  ํŠธ๋žœ์ ์…˜, ๋ณด์•ˆ, ์บ์‹ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. AOP ์šฉ์–ด - Joint Point : ๋ชจ๋“ˆ์ด ์‚ฝ์ž…๋˜์–ด ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š” ํŠน์ • ์œ„์น˜(๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๋“ฑ) - Point Cut : ๋‹ค์–‘ํ•œ Joint Point ์ค‘์— ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ• ์ง€ ์„ ํƒ - Advice : Joint Point์— ์‚ฝ์ž…๋˜์–ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ - Weaving : Advice๋ฅผ ํ•ต์‹ฌ ๋กœ์ง ์ฝ”๋“œ์— .. 2020. 4. 27.
[Spring] @Component ์• ๋…ธํ…Œ์ด์…˜ ๋ฐ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์• ๋…ธํ…Œ์ด์…˜ ์ •๋ฆฌ [Spring] @Component ์• ๋…ธํ…Œ์ด์…˜ ๋ฐ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์• ๋…ธํ…Œ์ด์…˜ ์ •๋ฆฌ ์Šคํ”„๋ง ๋นˆ ์„ค์ • XML ํŒŒ์ผ์— ๋‚˜ ์ž๋ฐ” @Configuration ํด๋ž˜์Šค์—์„œ @Bean์„ ๋ถ™์—ฌ ๋นˆ์„ ๋“ฑ๋กํ•˜๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋นˆ ํด๋ž˜์Šค์— @Component ์• ๋…ธํ…Œ์ด์…˜์„ ๋ถ™์—ฌ ๋นˆ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ @Component๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋นˆ ์„ค์ • ํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ ๋นˆ ํด๋ž˜์Šค์—์„œ ๋นˆ์„ ์ง์ ‘ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. Component Scan ์„ค์ • @Component๋ฅผ ๋ถ™์ธ ํด๋ž˜์Šค๋ฅผ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. 1) XML ์„ค์ •์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํƒœ๊ทธ์˜ base-package์— ์Šค์บ”ํ•  ํŒจํ‚ค์ง€๋ฅผ ์„ค์ •ํ•œ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 2) @Configuration ์„ค์ •์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ @Configuration // ์ง€์ •๋œ .. 2020. 4. 25.
[Spring] ์• ๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•œ ๋นˆ ์„ค์ • ๋ฐฉ๋ฒ• ์ •๋ฆฌ [Spring] ์• ๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•œ ๋นˆ ์„ค์ • ๋ฐฉ๋ฒ• ์ •๋ฆฌ ๋นˆ ์„ค์ •์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์Šคํ”„๋ง ์• ๋…ธํ…Œ์ด์…˜ @Required, @Autowired, @Qualifier, @Value๊ณผ JSR-250 ์• ๋…ธํ…Œ์ด์…˜ @PostConstruct, @PreDestroy, @Resource์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž ์ด ์• ๋…ธํ…Œ์ด์…˜๋“ค์„ ์‚ฌ์šฉํ•ด ๊ธฐ์กด์— XML ๋นˆ ์„ค์ • ํŒŒ์ผ์— ๋ชจ๋‘ ์ž‘์„ฑํ•˜๋˜ ๋นˆ ์„ค์ •์„ ๋นˆ ํด๋ž˜์Šค์— ์ง์ ‘ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. XML ์„ค์ •์— ์• ๋…ธํ…Œ์ด์…˜ ๋นˆ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€ context ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค์™€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋นˆ ์„ค์ •์„ XML ํŒŒ์ผ์ด ์•„๋‹Œ ๋นˆ ํด๋ž˜์Šค์˜ ์• ๋…ธํ…Œ์ด์…˜์„ ๊ฒ€์ƒ‰ํ•ด ๋ฐ˜์˜ํ•œ๋‹ค. @Required - setter์— ๋ถ™์—ฌ ๋ฐ˜๋“œ์‹œ ์ฃผ์ž…ํ•ด์•ผํ•˜๋Š” ํ”„๋กœํผํ‹ฐ๋กœ ์„ค์ •ํ•˜๋Š” ์• ๋…ธํ…Œ์ด์…˜ - Spring.. 2020. 4. 24.
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  - ์• ์ž์ผ(Agile) ๋ฐฉ๋ฒ•๋ก  ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  - ์• ์ž์ผ(Agile) ๋ฐฉ๋ฒ•๋ก  ์• ์ž์ผ(Agile) ๋ฐฉ๋ฒ•๋ก ์€ ๊ตฌ์ฒด์ ์ธ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹Œ ๊ฐœ๋ฐœ ์ง€์นจ, ์ฒ ํ•™์— ๊ฐ€๊น๋‹ค. ๋ณ€ํ™”๋ฅผ ์ˆ˜์šฉํ•˜๊ณ  ํ˜‘์—…๊ณผ ์ œํ’ˆ์˜ ๋น ๋ฅธ ์ธ๋„๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๋ฐ˜๋ณต์  ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ• ๋ฌธ์„œํ™”๋ณด๋‹ค ์ฝ”๋“œ, ํ”„๋กœ๊ทธ๋žจ, ์†Œํ”„ํŠธ์›จ์–ด ์ž์ฒด๋ฅผ ์ค‘์š”์‹œ ํ•จ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๋ณ€ํ™”๋Š” ๋ถˆ๊ฐ€ํ”ผํ•˜๋ฉฐ ์ด์— ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ํ˜„์‹ค์ ์ด๋‹ค. ๊ธฐ์กด์˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ์„ค๊ณ„ ๊ธฐ๊ฐ„์ด ๊ธธ๋ฉฐ ์žฌ์ž‘์—… ์‹œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค. ํ™˜๊ฒฝ์˜ ๋น ๋ฅธ ๋ณ€ํ™”์— ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์• ์ž์ผ ์„ ์–ธ๋ฌธ(Agile Manifesto) ๐Ÿ”— ๊ณต์ •๊ณผ ๋„๊ตฌ๋ณด๋‹ค ๊ฐœ์ธ๊ณผ ์ƒํ˜ธ์ž‘์šฉ์„ ํฌ๊ด„์ ์ธ ๋ฌธ์„œ๋ณด๋‹ค ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ณ„์•ฝ ํ˜‘์ƒ๋ณด๋‹ค ๊ณ ๊ฐ๊ณผ์˜ ํ˜‘๋ ฅ์„ ๊ณ„ํš์„ ๋”ฐ๋ฅด๊ธฐ๋ณด๋‹ค ๋ณ€ํ™”์— ๋Œ€์‘ํ•˜๊ธฐ๋ฅผ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ฐ”๋€Œ๊ธฐ ์‰ฌ์šด ์ค‘์†Œํ˜•์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์‹œ์Šคํ…œ์ด๋‚˜ ์ „์ž ์ƒ๊ฑฐ๋ž˜ ์‘์šฉ์— ์ ํ•ฉํ•˜๋‹ค... 2020. 4. 18.
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค - ๋‚˜์„ ํ˜• ๋ชจ๋ธ๊ณผ V ๋ชจ๋ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค - ๋‚˜์„ ํ˜• ๋ชจ๋ธ๊ณผ V ๋ชจ๋ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ ์ค‘ ๋‚˜์„ ํ˜• ๋ชจ๋ธ๊ณผ V ๋ชจ๋ธ์€ ๊ฐ๊ฐ ๋ฐ˜๋ณต ์ง„ํ™”ํ˜• ๋ชจ๋ธ๊ณผ ํญํฌ์ˆ˜ ๋ชจ๋ธ์˜ ํ™•์žฅ๋œ ํ˜•ํƒœ์ด๋‹ค. 1. ๋‚˜์„ ํ˜• ๋ชจ๋ธ(Spiral Model) ๋ฐ˜๋ณต ์ง„ํ™”ํ˜• ๋ชจ๋ธ๐Ÿ”—์˜ ํ™•์žฅ ํ˜•ํƒœ ์œ„ํ—˜ ์ตœ์†Œํ™” - ์ „์ฒด ์ƒ๋ช…์ฃผ๊ธฐ์— ์œ„ํ—˜ ๋ถ„์„๊ณผ ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ์‚ฌ์šฉ ๊ฐ ๋‹จ๊ณ„ ๋ณ„๋กœ โ‘ ๋ชฉํ‘œ์™€ ๋Œ€์•ˆ์˜ ๊ฒฐ์ •, โ‘ก๋Œ€์•ˆ์˜ ํ‰๊ฐ€(์œ„ํ—˜ ์š”์†Œ ๋ถ„์„), โ‘ข๊ฐœ๋ฐœ๊ณผ ํ™•์ธ, โ‘ฃ๋‹ค์Œ ๋‹จ๊ณ„ ๊ณ„ํš์˜ 4๊ฐ€์ง€ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•จ ๋‚˜์„ ํ˜• ๋ชจ๋ธ์€ ์œ„ํ—˜ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์žฅ ํฐ ํŠน์ง• - ์œ„ํ—˜ ๊ด€๋ฆฌ์— ๋น„์šฉ์„ ํˆฌ์ž ์‹คํ—˜์ ์ด๊ณ  ๋ณต์žกํ•œ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉ ์žฅ์  ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์—์„œ ์œ„ํ—˜ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ์„ฑ๊ณต ๊ฐ€๋Šฅ์„ฑ์„ ํ–ฅ์ƒ ํ”„๋กœ์ ํŠธ ํŠน์„ฑ, ๊ฐœ๋ฐœ ์กฐ์ง์— ๋งž๊ฒŒ ๋ณ€ํ˜• ๊ฐ€๋Šฅ ๋‹จ์  ์‚ฌ๋ก€๊ฐ€ .. 2020. 4. 18.
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค - ๋ฐ˜๋ณต์  ๋ชจ๋ธ์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์  ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค - ๋ฐ˜๋ณต์  ๋ชจ๋ธ์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์  ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ ์ค‘ ๋ฐ˜๋ณต์  ๋ชจ๋ธ์€ ์ฆ๋ถ„ํ˜•(Incremental) ๋ชจ๋ธ๊ณผ ์ง„ํ™”ํ˜•(Evolutional) ๋ชจ๋ธ ๋‘ ๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ๋ฐ˜๋ณต์  ๋ชจ๋ธ - ์ง„ํ™”ํ˜• ๋ชจ๋ธ(Iterative Evolutional Model) ๋ถˆ์•ˆ์ •ํ•œ(๋ฏธ์™„์„ฑ๋œ) ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ๋ถ€ํ„ฐ ๋ช…์„ธ(์„ค๊ณ„) โžก๏ธ ๊ฐœ๋ฐœ โžก๏ธ ๊ฒ€์ฆ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ดˆ๊ธฐ๋ฒ„์ „ ๊ฐœ๋ฐœ ๋ช…์„ธ(์„ค๊ณ„) โžก๏ธ ๊ฐœ๋ฐœ โžก๏ธ ๊ฒ€์ฆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ค‘๊ฐ„ ๋ฒ„์ „, ์ตœ์ข… ๋ฒ„์ „ ๊ฐœ๋ฐœ ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ํ†ตํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ณด์™„ํ•˜๋ฉฐ ์ ์ฐจ์ ์œผ๋กœ ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ๋„์ถœ ๋ฐ˜๋ณต ์ง„ํ™”ํ˜• ๋ชจ๋ธ์˜ ํ™•์žฅ ํ˜•ํƒœ๋กœ ๋‚˜์„ ํ˜• ๋ชจ๋ธ(spiral model)๐Ÿ”—์ด ์žˆ๋‹ค. ์žฅ์  ์š”๊ตฌ์‚ฌํ•ญ์ด ์™„์„ฑ๋˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์—๋„ ์ดˆ๊ธฐ ๋ฒ„์ „ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ ๋‹จ์  ๊ฐœ๋ฐœ ๋น„์šฉ ์˜ˆ์ƒ ์–ด๋ ค์›€ ๋ฐ˜.. 2020. 4. 18.
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ - ํญํฌ์ˆ˜ ๋ชจ๋ธ(Waterfall Model) ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ - ํญํฌ์ˆ˜ ๋ชจ๋ธ(Waterfall Model) ์„ ํ˜• ์ˆœ์ฐจ ๋ชจ๋ธ(linear, sequential model), ๊ณ ์ „์  ์†Œํ”„ํŠธ์›จ์–ด ์ƒ๋ช… ์ฃผ๊ธฐ ๊ฐ ๋‹จ๊ณ„๋Š” ๋ณ‘ํ–‰ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๊ณ  ์ˆœ์ฐจ ์ˆ˜ํ–‰๋จ ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰๋˜๋‚˜ ์‹ค์ œ๋กœ๋Š” ์ˆ˜์ • ๋ฐ ์žฌ์ž‘์—…์„ ์œ„ํ•ด ์ด์ „ ๋‹จ๊ณ„๋กœ์˜ ํ”ผ๋“œ๋ฐฑ์ด ๋ถˆ๊ฐ€ํ”ผํ•จ ํญํฌ์ˆ˜ ๋ชจ๋ธ์˜ ํ™•์žฅ ํ˜•ํƒœ๋กœ V ๋ชจ๋ธ๐Ÿ”—์ด ์žˆ๋‹ค. ์žฅ์  ๋‹จ์ˆœํ•œ ์„ ํ˜• ๋ชจ๋ธ - ์ดํ•ด ์‰ฌ์›€ ๋‹จ๊ณ„๋ณ„๋กœ ์ •ํ˜•ํ™”๋œ ์ ‘๊ทผ ๋ฐฉ๋ฒ• - ์ฒด๊ณ„์  ๋ฌธ์„œํ™” ๊ฐ€๋Šฅ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ ๋ช…ํ™•ํžˆ ํŒŒ์•… ๊ฐ€๋Šฅ ๋‹จ์  ์š”๊ตฌ์‚ฌํ•ญ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์•ผ ํ•จ ๋ณ€๊ฒฝ ์ˆ˜์šฉ ์–ด๋ ค์›€ ์‹œ์Šคํ…œ์˜ ๋™์ž‘์„ ํ›„๋ฐ˜์— ํ™•์ธ ๊ฐ€๋Šฅ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์— ์ ์šฉ ๋ถ€์ ํ•ฉ ์ง€๋‚˜์นœ ๋ฌธ์„œํ™” ์œ„ํ—˜ ๋ถ„์„ ๊ฒฐ์—ฌ ์ผ์ • ์ง€์—ฐ ๊ฐ€๋Šฅ์„ฑ ํผ 1. ํญํฌ์ˆ˜ ๋ชจ๋ธ - ํƒ€๋‹น์„ฑ ์กฐ์‚ฌ ๋‹จ๊ณ„ ๋ฌธ์ œ์ ์„ ํŒŒ์•…ํ•˜๊ณ .. 2020. 4. 18.
[Spring MVC] Static Resources(์ •์  ๋ฆฌ์†Œ์Šค) ์„ค์ • ๋ฐฉ๋ฒ• [Spring MVC] Static Resources(์ •์  ๋ฆฌ์†Œ์Šค) ์„ค์ • ๋ฐฉ๋ฒ• ์Šคํ”„๋ง MVC ์›น ํ”„๋กœ์ ํŠธ๋Š” ์ •์  ๋ฆฌ์†Œ์Šค๋ฅผ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šคํ”„๋ง XML ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ WebMvcConfigurer ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์œ„์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์—์„œ {ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ}/src/main/webapp/resources ์œ„์น˜์˜ ์ •์  ๋ฆฌ์†Œ์Šค๋ฅผ ์„ค์ •ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์ด resources ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์Šคํ”„๋ง ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •์  ๋ฆฌ์†Œ์Šค๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ์Šคํ”„๋ง MVC ์ •์  ๋ฆฌ์†Œ์Šค XML ์„ค์ • ๋ฐฉ๋ฒ• ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ์—(servlet-context.xml ...) ๋‹ค์Œ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์Šคํ”„๋ง IoC ์ปจํ…Œ์ด๋„ˆ XML ์„ค์ • ํŒŒ์ผ mapp.. 2020. 4. 15.
[Spring] ์Šคํ”„๋ง XML ์„ค์ • → ์• ๋…ธํ…Œ์ด์…˜ ์„ค์ • ๋ณ€ํ™˜ ๋ฐฉ๋ฒ• [Spring] ์Šคํ”„๋ง XML ์„ค์ • โ†’ ์• ๋…ธํ…Œ์ด์…˜ ์„ค์ • ๋ณ€ํ™˜ ๋ฐฉ๋ฒ• ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉ์€ XML ์„ค์ •์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ž๋ฐ” ์• ๋…ธํ…Œ์ด์…˜ ๊ธฐ๋ฐ˜์˜ ์„ค์ •์„ ์ด์šฉํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ฐธ๊ณ  - ์Šคํ”„๋ง XML ์„ค์ • ๋ฐฉ๋ฒ• : [Spring] ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• ์ •๋ฆฌ) ๋ณธ ๊ธ€์—์„œ๋Š” ์Šคํ”„๋ง์˜ XML ์„ค์ •์„ ์• ๋…ธํ…Œ์ด์…˜ ์„ค์ •์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค. ๐Ÿ“„ ๋ชฉ์ฐจ 1. ์Šคํ”„๋ง ์• ๋…ธํ…Œ์ด์…˜ ๊ธฐ๋ฐ˜ ์„ค์ • ๊ธฐ๋ณธ ํฌ๋งท 2. ๊ธฐ๋ณธ์ ์ธ ๋นˆ ์„ค์ • ๋ฐฉ๋ฒ• - ์ž๋™ ์ฃผ์ž… ์„ค์ • - autowire ์†์„ฑ 3. DI(Dependency Injection) ์„ค์ • - ์ƒ์„ฑ์ž ์ฃผ์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - List ํƒ€์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - Map ํƒ€์ž… 4. ApplicationContext ๊ฐ์ฒด.. 2020. 4. 14.
[Spring] ์Šคํ”„๋ง ๋นˆ(Bean) ์ดˆ๊ธฐํ™”, ์†Œ๋ฉธ ์‹œ ํŠน์ • ์ž‘์—…์„ ํ•˜๋Š” ๋ฐฉ๋ฒ• [Spring] ์Šคํ”„๋ง ๋นˆ(Bean)์ด ์ดˆ๊ธฐํ™”, ์†Œ๋ฉธ ์‹œ ํŠน์ • ์ž‘์—…์„ ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐฉ๋ฒ• 1: InitializingBean, DisposableBean ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ๋ฐฉ๋ฒ• 2: ์Šคํ”„๋ง XML ์„ค์ • ์‚ฌ์šฉ 1. ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ Spring์—์„œ ์ œ๊ณตํ•˜๋Š” InitializingBean, DisposableBean ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. public class BookDao implements InitializingBean, DisposableBean { @Override public void afterPropertiesSet() throws Exception { // ๋นˆ ์ดˆ๊ธฐํ™” ์‹œ ์ฝ”๋“œ ๊ตฌํ˜„ } @Override public void destroy() throws Exception { // ๋นˆ ์†Œ๋ฉธ ์‹œ ์ฝ”๋“œ ๊ตฌ.. 2020. 4. 13.
[Spring] ์˜์กด์„ฑ ์ฃผ์ž… ์• ๋…ธํ…Œ์ด์…˜ ์ •๋ฆฌ - @Autowired, @Resource, @Inject [Spring] ์˜์กด์„ฑ ์ฃผ์ž… ์• ๋…ธํ…Œ์ด์…˜ ์ •๋ฆฌ - @Autowired, @Resource, @Inject 1. @Autowired @Autowired๋Š” ์ฃผ์ž…ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž…์ด ์ผ์น˜ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ์ฃผ์ž…ํ•œ๋‹ค. @Autowired๋Š” ํ•„๋“œ, ์ƒ์„ฑ์ž, Setter์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, @Autowired๋ฅผ ํ•„๋“œ, Setter์— ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. 1) @Autowired - ํ•„๋“œ ์ฃผ์ž… public class WordRegisterServiceUseAutowired { @Autowired private WordDao wordDao; public WordRegisterServiceUseAutowired() { } } 2) @Autowired - ์ƒ์„ฑ์ž ์ฃผ์ž… p.. 2020. 4. 13.
[Spring] ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• ์ •๋ฆฌ [Spring] ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• ์ •๋ฆฌ ๐Ÿ“„ ๋ชฉ์ฐจ 1. ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ ํฌ๋งท - ๊ธฐ๋ณธ ํฌ๋งท - ์• ๋…ธํ…Œ์ด์…˜ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋งท 2. ๋นˆ(Bean) ์„ค์ • ์˜ˆ์‹œ - ์ž๋™ ์ฃผ์ž… ์„ค์ • - autowire ์†์„ฑ 3. DI(Dependency Injection) ์„ค์ • - ์ƒ์„ฑ์ž ์ฃผ์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - List ํƒ€์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - Set ํƒ€์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - Map ํƒ€์ž… - ํ”„๋กœํผํ‹ฐ ์ฃผ์ž… - Properties ํƒ€์ž… 4. ApplicationContext ๊ฐ์ฒด ์ƒ์„ฑ - ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ์ด ํ•œ ๊ฐœ์ธ ๊ฒฝ์šฐ - ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ - ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ(import ํƒœ๊ทธ ์‚ฌ์šฉ) 1. ์Šคํ”„๋ง XML ์„ค์ • ํŒŒ.. 2020. 4. 13.