๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ์ด์•ผ๊ธฐ

[summary] แ„‰แ…ณแ„‘แ…ณแ„…แ…ตแ†ผ แ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ - แ„แ…ฉแ„ƒแ…ณแ„…แ…ฉ แ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซ แ„‰แ…ณแ„‘แ…ณแ„…แ…ตแ†ผ แ„‡แ…ฎแ„แ…ณ, แ„‹แ…ฐแ†ธ MVC, DB แ„Œแ…ฅแ†ธแ„€แ…ณแ†ซ แ„€แ…ตแ„‰แ…ฎแ†ฏ day 2

๋ฐ˜์‘ํ˜•

์Šคํ”„๋ง๋ถ€ํŠธ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ JUnit

 - main ๋ฉ”์„œ๋“œ ํ†ตํ•œ ์‹คํ–‰

 - ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ ํ†ตํ•œ ์‹คํ–‰

 

service ํŒจํ‚ค์ง€๋Š” ์ฃผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์‹คํ–‰ - ๋น„์ฆˆ๋‹ˆ์Šค์— ์˜์กด์ 

repository๋Š” ์ €์žฅ์†Œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์—ญํ• ์„ ํ•จ(findAll, findById) - ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

 

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ƒ์„ฑ ๋‹จ์ถ•ํ‚ค ์ปค๋งจ๋“œ ์‰ฌํ”„ํŠธ T 

 

Test ์ฝ”๋“œ ์ž‘์„ฑ์‹œ given, when, then ์ˆœ์œผ๋กœ ๊ฒ€์ฆ ์ฒ˜๋ฆฌ

 

* ์™ธ๋ถ€ ์˜์กด์„ฑ ์ฃผ์ž… DI(Dependancy injection)

์Šคํ”„๋ง ๋นˆ์„ ๋“ฑ๋กํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•
 - ์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์„ค์ •

    -> @Component (๋นˆ์œผ๋กœ ์ž๋™ ๋“ฑ๋ก), @Autowired, @Controller, @Service... etc ์–ด๋…ธํ…Œ์ด์…˜ ์„ค์ •

 - ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ง์ ‘ ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋กํ•˜๊ธฐ

 - setter ์ฃผ์ž… ์ ˆ๋Œ€ ์“ฐ์ง€ ๋ง๊ฒƒ public ๋“ฑ๋ก ํ•„์š”ํ•˜์—ฌ, ๋‹ค๋ฅธ๊ณณ์—์„œ ํ˜ธ์ถœ์ด ๋  ์ˆ˜๋„ ์žˆ์Œ.

 - ์ฃผ๋กœ ์ƒ์„ฑ์ž ์ฃผ์ž… ๊ถŒ์žฅ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ์„ค์ •์„ ํ†ตํ•ด ๋นˆ๋“ฑ๋ก

 - Service์—์„œ ๊ตฌํ˜„์ฒด ๋ณ€๊ฒฝํ•˜์—ฌ DB์— ๋งž๋Š” repository ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ

 

DB ์—ฐ๊ฒฐ

 - jdbc API ์‚ฌ์šฉ (DataSource)

 

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

@SpringBootTest -> ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ&ํ…Œ์ŠคํŠธ ์‹คํ–‰
@Transactional -> ๋ฐ์ดํ„ฐ ๋กค๋ฐฑ. ์„œ๋น„์Šค ๋‹จ์— ์ž…๋ ฅ ์‹œ, ๋กค๋ฐฑ๋˜์ง€ ์•Š์Œ. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ๋งŒ ๋กค๋ฐฑ ์ž‘๋™