Spring/Spring ์ž…๋ฌธ

์Šคํ”„๋ง ์ž…๋ฌธ - (15) ์Šคํ”„๋ง ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

hello_u 2023. 1. 27. 16:31

 

์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์™€ DB๊นŒ์ง€ ์—ฐ๊ฒฐํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด์ž.

 

 

 

MemberServiceTest : ์ˆœ์ˆ˜ํ•œ ์ž๋ฐ”์ฝ”๋“œ๋กœ test ( spring๊ณผ ๊ด€๋ จ์—†์Œ )

 

Database connection ์ •๋ณด๋„ ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ๋“ค๊ณ ์žˆ์Œ

-> ํ…Œ์ŠคํŠธ๋ฅผ ์Šคํ”„๋ง์ด๋ž‘ ์—ฎ์–ด์„œ 

 

 

MemberSerivceIntegarionTest class ์ƒ์„ฑ ( MemberServiceTest ๋ณต์‚ฌ ) 

@SpringBootTest
@Transactional
class MemberServiceIntegarionTest {

    @Autowired MemberService memberService;
    @Autowired MemoryMemberRepository memberRepository;

@SpringBootTest : ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•จ๊ป˜ ์‹คํ–‰ํ•œ๋‹ค.

์Šคํ”„๋ง์„ ๋„์›Œ์„œ ํ…Œ์ŠคํŠธ

@Transactional : ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ์ด ์• ๋…ธํ…Œ์ด์…˜์ด ์žˆ์œผ๋ฉด, ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ์ „์— ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ , ํ…Œ์ŠคํŠธ ์™„๋ฃŒ ํ›„์— ํ•ญ์ƒ ๋กค๋ฐฑํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด DB์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹ค์Œ ํ…Œ์ŠคํŠธ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

ํ…Œ์ŠคํŠธ ๊ฐ๊ฐ ์ ์šฉ 

 

// @Transactional  ์ฃผ์„ ์ฒ˜๋ฆฌ์‹œ 

๋ฐ์ดํ„ฐ๊ฐ€ ๋„˜์–ด๊ฐ€์„œ ๋‹ค์Œ ํ…Œ์ŠคํŠธ์— ์˜ํ–ฅ์„ ์คŒ ( ex. ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํšŒ์›์ž…๋‹ˆ๋‹ค. ) 

 

 

๋‹จ์œ„ํ…Œ์ŠคํŠธ : ํ…Œ์ŠคํŠธ๋ฅผ ์ชผ๊ฐœ์„œ ํ…Œ์ŠคํŠธ 

์ข‹์€ ํ…Œ์ŠคํŠธ์ผ ํ™•๋ฅ ์ด ๋†’์Œ

 

ํ†ตํ•ฉํ…Œ์ŠคํŠธ : ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ™์ด ์˜ฌ๋ ค์„œ ํ…Œ์ŠคํŠธ