์คํ๋ง ์ ๋ฌธ - (15) ์คํ๋ง ํตํฉ ํ ์คํธ
์คํ๋ง ์ปจํ ์ด๋์ DB๊น์ง ์ฐ๊ฒฐํ ํตํฉ ํ ์คํธ๋ฅผ ์งํํด๋ณด์.

MemberServiceTest : ์์ํ ์๋ฐ์ฝ๋๋ก test ( spring๊ณผ ๊ด๋ จ์์ )
Database connection ์ ๋ณด๋ ์คํ๋ง ๋ถํธ๊ฐ ๋ค๊ณ ์์
-> ํ ์คํธ๋ฅผ ์คํ๋ง์ด๋ ์ฎ์ด์
MemberSerivceIntegarionTest class ์์ฑ ( MemberServiceTest ๋ณต์ฌ )
@SpringBootTest
@Transactional
class MemberServiceIntegarionTest {
@Autowired MemberService memberService;
@Autowired MemoryMemberRepository memberRepository;
@SpringBootTest : ์คํ๋ง ์ปจํ ์ด๋์ ํ ์คํธ๋ฅผ ํจ๊ป ์คํํ๋ค.
์คํ๋ง์ ๋์์ ํ ์คํธ
@Transactional : ํ ์คํธ ์ผ์ด์ค์ ์ด ์ ๋ ธํ ์ด์ ์ด ์์ผ๋ฉด, ํ ์คํธ ์์ ์ ์ ํธ๋์ญ์ ์ ์์ํ๊ณ , ํ ์คํธ ์๋ฃ ํ์ ํญ์ ๋กค๋ฐฑํ๋ค.
์ด๋ ๊ฒ ํ๋ฉด DB์ ๋ฐ์ดํฐ๊ฐ ๋จ์ง ์์ผ๋ฏ๋ก ๋ค์ ํ ์คํธ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
ํ ์คํธ ๊ฐ๊ฐ ์ ์ฉ
// @Transactional ์ฃผ์ ์ฒ๋ฆฌ์
๋ฐ์ดํฐ๊ฐ ๋์ด๊ฐ์ ๋ค์ ํ ์คํธ์ ์ํฅ์ ์ค ( ex. ์ด๋ฏธ ์กด์ฌํ๋ ํ์์ ๋๋ค. )
๋จ์ํ ์คํธ : ํ ์คํธ๋ฅผ ์ชผ๊ฐ์ ํ ์คํธ
์ข์ ํ ์คํธ์ผ ํ๋ฅ ์ด ๋์
ํตํฉํ ์คํธ : ์คํ๋ง ์ปจํ ์ด๋๋ฅผ ๊ฐ์ด ์ฌ๋ ค์ ํ ์คํธ