service ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
6 ๊ฐœ์˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Spring 4.3 | jsp [์•„์ด๋””, ์ด๋ฆ„, ์ด๋ฉ”์ผ] DB์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ | ์ œ๋„ค๋ฆญ <E> | mybatis | @RequestParam | MultiValueMap

Spring 4.3.X Java 8 ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์˜€๋‹ค. Java 6, Java 7 ์˜ ๊ณ ์œ  ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•ด์„œ๋„ ๊ฐ๊ฐ ์ง€์›ํ•œ๋‹ค. Starter Pack์˜ ๋“ฑ์žฅ์œผ๋กœ ์ดˆ๊ธฐ ์„ค์ •์ด ๋ณด๋‹ค ์šฉ์ดํ•ด์กŒ๋‹ค. Groovy ๋ฅผ ํ†ตํ•œ Bean ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. Core Container ๋“ค์˜ ๊ธฐ๋Šฅ ์ง€์›์ด ํ™•๋Œ€๋˜์—ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Spring Data Repository ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„์œผ๋กœ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. (@Autowired Repository customerRepository) meta-annotation ์ง€์›๊ณผ ํ•จ๊ป˜ custom-annotation ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. Bean ๊ด€๋ฆฌ๊ฐ€ ๋” ์šฉ์ดํ•ด์กŒ๋‹ค. @Order ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ Bean์„ ์ •๋ ฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. @Lazy..

Spring JDBC | Service์™€ Dao ๋ ˆ์ด์–ด์˜ ๊ตฌ๋ถ„๋ฐฉ์‹ | Service์™€ DAO์˜ ์—ญํ• ๊ณผ ๊ด€๊ณ„ โ˜†

์„œ๋น„์Šค์™€ ๋ฐ์ดํ„ฐ ๋ ˆ์ด์–ด์˜ ๊ตฌ๋ถ„๋ฐฉ์‹ ์ปจํŠธ๋กค๋Ÿฌ URL Mapping๊ณผ ์‚ฌ์šฉ์ž ์ถœ๋ ฅ Service์™€ DAO์˜ ์—ญํ•  ์ž…๋ ฅ์„ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ›๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ๋ฐ ๋ฐ์ดํ„ฐ ์ œ๊ณต์„ ํ•˜๋Š” ๊ฒƒ์ด Service Service๋Š” Dao๋ฅผ ์“ฐ๊ณ  ์žˆ๋‹ค. SQL์˜ ๋‚ด์šฉ๋“ค์„ Service๊ฐ€ ์‚ฌ์šฉ SQL๋ช…๋ น์„ ํ†ตํ•ด ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹Œ Dao๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ์“ฐ๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Dao๋Š” SQL์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ž๋ฐ” ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ Dao๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ ์žฅ์ ์œผ๋กœ Service ๊ตฌํ˜„ํ•˜๋Š” ์‚ฌ๋žŒ์ด SQL์„ ๋ชฐ๋ผ๋„ ๋˜๋ฉฐ ์–ด๋– ํ•œ ์ €์žฅ์†Œ๋ฅผ ์“ฐ๋˜์ง€ ์ƒ๊ด€ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ๋Œ€ํ•œ ๊ฒƒ์„ ์ˆจ๊ธธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋ฐ”๋งŒ ์•Œ๋ฉด ์—…๋ฌด๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. -> ํ˜‘์—…๋Šฅ๋ ฅ ํ–ฅ์ƒ Controller -> ui์ „๋ฌธ๊ฐ€ ..

Spring | ๊ฒฐํ•ฉ๋ ฅ ์ธํ„ฐํŽ˜์ด์Šค | Dependency Injection | IoC ์ปจํ…Œ์ด๋„ˆ | ์ดํด๋ฆฝ์Šค Spring ํ”Œ๋Ÿฌ๊ทธ์ธ | xml ์‚ฌ์šฉ๋ฐฉ์‹ ํ™˜๊ฒฝ ์ค€๋น„

Service ์‚ฌ์šฉ์ž ์š”๊ตฌ์— ๋งž๋Š” ์„œ๋น„์Šค๋ฅผ ๋‹ด๋‹น Dao ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์ž๋ฐ”๋งŒ์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋กํ•ด์ค€๋‹ค. ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์†Œ์Šค์ฝ”๋“œ ์—†์ด ๋ฐ”๊พธ๋Š” ๊ฒƒ, ๊ฒฐํ•ฉ๋ ฅ์„ ๋‚ฎ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. Dao์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•ด ๊ฒฐํ•ฉ๋ ฅ์„ ๋‚ฎ์ถฐ์ค€๋‹ค. DI ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ์กฐ๋ฆฝ์„ ์œ„ํ•œ ์™ธ๋ถ€ ์„ค์ •์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. DI(Dependency Injection) ์ข…์†์„ฑ ์ฃผ์ž… (๋ถ€ํ’ˆ ์กฐ๋ฆฝ) B๋Š” A์˜ ๋ถ€ํ’ˆ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด b๊ฐ€ Dependency B b = new B(); A a = new A(); a.setB(b); a.setB(b); injection ๋ถ€ํ’ˆ์„ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ๊ณผ ๋ถ€ํ’ˆ์„ ์กฐ๋ฆฝํ•ด์•ผ ๋˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค. Dependency๋ฅผ ์กฐ๋ฆฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. 1. setter..