์คํ๋ง
์คํ๋ง ๋น ๋ฑ๋ก๋ฐฉ๋ฒ๊ณผ ์ฌ์ฉ์์
Spring Bean์ด๋? Spring์ Bean์ Spring IOC Container๊ฐ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๋ค์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ก new ์ฐ์ฐ์ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์์๋ ๋๊ณ , Spring IOC Container์๊ฒ ์๋ ค์ฃผ๊ธฐ๋ง ํ๋ฉด ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํด ์ค๋๋ค. Spring Bean์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ํด๋์ค์์ ๋ฐ๋ก new์ฐ์ฐ์ ํ์ฌ ๋์ผํ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ํ์๋ ์์ด ๋ฉ๋ชจ๋ฆฌ ํ์ฉ์ ํจ๊ณผ์ ์ ๋๋ค. Spring IOC Container์์ ๊ฐ์ง๊ณ ์๋ ๋์ผํ ์ธ์คํด์ค๋ง ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ง์ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ฒ ์๊ฐ์๋ Spring Bean์ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. Spring Bean ๋ฑ๋ก ๋ฐฉ๋ฒ? ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์์ต๋๋ค. Component Scan ์ง..
Test Case ๋ง๋ค๊ธฐ
์ด๋ฒ ํฌ์คํ ์์๋ ์๋น์ค๋ฅผ ์์ฑํ๊ณ , ๋์์ด ์ํํ ์ํ๋๋์ง ํ ์คํธ๋ฅผ ํด์ผํฉ๋๋ค. main ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํ๊ธฐ ์ง์ DB์ ๋ฃ๊ณ ์คํํด๋ณด๊ธฐ ๋ฑ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ํ ์คํธ๋ฅผ ํ ์ ์์ต๋๋ค. ์ด๋ฒ ์๊ฐ์๋ Spring์ผ๋ก Service๋ฅผ ๋ง๋ค๋ฉฐ ๊ต์ฅํ ํธ๋ฆฌํ Test Case๋ฅผ ํ์ฉํ์ฌ ํ ์คํธ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. Test Case testํ์ผ์์ Class๋ฅผ ์์ฑํ์ฌ ์ฃผ์๊ณ ์์ ์ ์ํํ๋ฉด ๋ฉ๋๋ค. ๋ฉ์๋์ @Test๋ผ๋ anotation๋ง ๋ถ์ฌ์ฃผ๊ณ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์์๋ก ๊ฐ๋จํ ์คํ์ ์๋น์ค๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค. public int join(Member member) { nameCheck(member); repository.save(member); return member.g..