๐ ๊ด๋ จ ๊ธ
- [Spring ์น ํ๋ก์ ํธ] ์๋ฐ ํ๋ซํผ GOING
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 1. ๊ตญ๋น์ง์๊ต์ก์ ํ๊ณ
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 2. SqlSessionFactory -> SqlSessionTemplate
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 3. ์์กด์ฑ ์ฃผ์ ์์
- [Spring MVC ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง] 4. @Service, ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ
- [Spring/์คํ๋ง] JUnit์ ์ด์ฉํ ๋จ์ ํ ์คํธ, @Test
- ์นํ๋ก์ ํธ ๋ฌธ์์ธ์ฆ ๊ตฌํํ๊ธฐ with ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ํ๋ซํผ
- [Java/์๋ฐ] ๋ ์ง-Date์ ๋ชจ๋ ๊ฒ (ํ์ฌ-๋ด์ผ ๋ ์ง, Date ํฌ๋งท ๋ณํ, ๋ ์ง ์ฐจ์ด ๊ณ์ฐ, ๋ํ๊ธฐ, ๋นผ๊ธฐ)
- ์๋ฐ ์ธ๋ฏธ ํ๋ก์ ํธ - ์๋ฐ ํ๋ซํผ GOING
โก๏ธ๋ฆฌํฉํ ๋ง Before -> After
๐ Before
์ด GOING ํ๋ก์ ํธ๋ ๊ธฐ์กด model2 ํ๋ก์ ํธ๋ฅผ Spring ํ๋ก์ ํธ๋ก ๋ฐ๊พผ ํ๋ก์ ํธ์ ๋๋ค.
์คํ๋ง ํํ๋ก ์๋ํ๋๋ก ํ์ง๋ง @Controller, @Service, @Repository ๋ณ ์ฝ๋์ ๋ถ๋ฆฌ๊ฐ ์ ํ ์ด๋ฃจ์ด์ ธ์์ง ์์์ต๋๋ค.
Service ํ์ผ์ ๋ณ๋๋ก ์์์ผ๋ฉฐ Controller์ Dao ํ์ผ๋ง ์กด์ฌํ์ต๋๋ค.
๐ After
์ฐ์ ์๋น์ค ํจํค์ง๋ฅผ ๋ง๋ค์ด ๋น์ฆ๋์ค ๋ก์ง์ ์ปจํธ๋กค๋ฌ๋ถํฐ ๋ชจ๋ ๋ถ๋ฆฌํด์ฃผ์์ต๋๋ค.
๊ทธ ํ ์ญํ ์ ๋ง๊ฒ ์ฝ๋๋ฅผ ์ฌ๋ฐฐ์นํด์ฃผ์์ต๋๋ค.
โก๏ธ๋ฆฌํฉํ ๋ง ์ด์
๐ ์ด๋ ธํ ์ด์ ๋ณ ์ญํ
์คํ๋ง์์ ๋น ๋ฑ๋ก์ ์ํด ์ฃผ๋ก ์ ์ธํ๋ ์ด๋ ธํ ์ด์ ์ @Controller, @Service, @Repository 3๊ฐ์ง๊ฐ ์์ต๋๋ค.
Controller๋ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๊ณ , ์์ฒญ์ ๋ํ ์๋ต์ ์ ๋ฌํ๋ ์ญํ ,
Repository๋ Dao ํ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ์์ ์ ํ๋ ์ญํ ,
๊ทธ๋ฆฌ๊ณ Service๋ ๊ทธ์ "๋น์ฆ๋์ค ๋ก์ง"๊ณผ ๊ด๋ จ๋ ์ญํ ๋ก ์ด๋ ดํ์ด ์ดํดํ๊ณ ์์์ต๋๋ค.
์ฒ์์๋ Service์ ํ์์ฑ์ ๋ํด ์ดํด๊ฐ ์ ์ ๋์ด ๊ตณ์ด ์ค๊ฐ์ ๋ค๋ฆฌ๋ฅผ ํ๋ ๋ ๋์ ํ์๊ฐ ์๋ ์๊ฐํ๋ฉฐ
์ธ๊ฐ๋ ๋ณด๊ณ ์ฌ๊ธฐ์ ๊ธฐ ๊ฒ์๋ ํด๋ณด๋ฉฐ ๊นจ๋ฌ์์ ์ป๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ ๊ฒ ๋ด๋ฆฐ ๊ฒฐ๋ก ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. Controller์๋ ์์ฒญ๊ณผ ์๋ต์ ๋ํ ์์ ๋ง ์ํํ๋๋ฐ, ์์ฒญ์ ๋ํ ์๋ต์ Service๋ฅผ ํตํด ๋ชจ๋ ์ฒ๋ฆฌํฉ๋๋ค.
2. Service์์๋ ํ๋ ํน์ ์ฌ๋ฌ Dao๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ , ๋ก์ง์ ํตํ ๊ฒฐ๊ณผ๋ฅผ Controller์๊ฒ ๋๊ฒจ์ค๋๋ค.
3. Repository์์๋ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ์ ๋ฆฌํ๊ณ , DB ์์ ์ ์ฒ๋ฆฌํด์ ๊ฒฐ๊ณผ๋ฅผ Service๋ก ๋๊ฒจ์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ Service์์๋ ์ฌ๋ฌ ๊ฐ์ Dao๋ฅผ ๋ถ๋ฌ์ค๋ค ๋ณด๋ ํ๋์ ๋ ผ๋ฆฌ์ ๋จ์๊ฐ ๋์๊ณ ,
์ด๋ ๊ณง ํ๋์ ํธ๋์ญ์ ์ด ๋์ด ์คํ๋ง ํธ๋์ญ์ ์ ํตํด ๋ฌธ์ ๋ฐ์ ์ ๋กค๋ฐฑ ๋ฑ ํ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ์ต๋๋ค.
๊ฐ ์ญํ ๋ณ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๋ ์ฌ๋ฌ ์ฑ ์์ ๊ฐ๊ณ ์๋ ๋ชจ๋์ด ๋จ์ผ ์ฑ ์์ ๊ฐ๊ฒ ๋์๊ณ , ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ ์ ์์์ต๋๋ค.
๋๋ถ์ ๊ฐ ๋ชจ๋ ๋ณ JUnit์ ์ด์ฉํ ๋จ์ ํ ์คํธ๋ฅผ ์ํํ๊ธฐ ์์ํด์ก๊ณ ,
Service์์๋ ํธ๋์ญ์ ์ ๋์ ํด ์์คํ ์์ ์ฑ์ ๋์ผ ์ ์์์ต๋๋ค.
์ด๋ ๊ฒ ๊ฑฐ์ ์์ฑ๋ ํ๋ก์ ํธ ์ฝ๋ ์ ์ฒด๋ฅผ ๋ค์๋ ๊ณ ์์ ํ๋ฉฐ ๋๋ ์ ์
"์ฒ์๋ถํฐ ์ด์ฌํ ๊ณต๋ถํด์ ์ค๋ ธ์ฐ๋ณผ ๊ตด๋ฆฌ์ง ๋ง์"๋ก ์ ๋ฆฌํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฅ ํ๋ค์๋ ๋ถ๋ถ์ด์ง๋ง ๊ทธ๋๋ ๋๋ถ์ ์คํ๋ง ๊ตฌ์กฐ์ ๋ํด ์ฌ๋ ๊น๊ฒ ๊ณต๋ถํ ์ ์๋ ๊ธฐํ๊ฐ ๋ ๊ฑฐ ๊ฐ์ ๊ทธ๋๋ง ๋คํ์ ๋๋ค.
๋๊ธ