์Šคํ”„๋ง

    ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ์˜ˆ์‹œ

    ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ์˜ˆ์‹œ

    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 ๋งŒ๋“ค๊ธฐ

    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..