๐ชฝ
"ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์ ์์ผ๋ฉฐ, ๊น์ํ ์ ์๋์ Spring MVC 1์ ์์ฃผ๋ก ๊ณต๋ถํ์ต๋๋ค."
โถ MemberRepositoyTest.class (๋ณ๊ฒฝ๋ ์ฝ๋)
Member member1 = new Member("hello", 20);
Member member2 = new Member("spring", 10);
Member savedMember1 = memberRepository.save(member1);
Member savedMember2 = memberRepository.save(member2);
member1์ hello๋ผ๋ username๊ณผ 20์ด๋ผ๋ age๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด ๋ฐ์ดํฐ๋ฅผ member1๋ก ํฌ์ฅํ๋๋ฐ save๋ก ๋์ด๊ฐ๋ฉด member1์ member๋ผ๋ ํฌ์ฅ์ง๋ก ๋ฐ๋๋ค.
โถ MemberRepositoy.class
public Member save(Member member) {
member.setId(++sequence);
store.put(member.getId(), member);
return member;
}
save(Member member) ์ฝ๋๊ฐ ์๋ค. ์ด ์ฝ๋๊ฐ member๋ผ๋ ์ด๋ฆ์ผ๋ก ์ธ์๋ฅผ ๋ฐ๊ฒ ๋ค๋ผ๋ ๊ฒ์ด๋ค. member1์ save์์ ์ฒ๋ฆฌ๋๋ ๋์ member๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง๋ค.
setId(++sequence)๋ sequence๊ฐ์ ํ๋ ์ฆ๊ฐ์ํจ ํ id์ ๊ฐ์ ๋ฃ๋๋ค. ์ฌ๊ธฐ์ member.์ด ๋ถ๋ ์ด์ ๋ ์ด๋ ๊ฐ์ฒด์ id์ธ์ง๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ํจ์ด๋ค.
Q. return member๊ฐ ๋ฌด์จ ๋ง์ผ๊น?
A. ํ ์คํธ ํด๋์ค์์ member1์ ์ ์ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ์ด๋ member1์ id ๊ฐ์ด ์๋ ์ํ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ง๋ member1์ด save ๋ฉ์๋๋ฅผ ํตํด id๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ id ๊ฐ์ ๋ค์ ํธ์ถ๋์๋ ๊ณณ์ ๋๋ ค์ฃผ๋ ๊ฒ์ด๋ค.
Q. return member๋ฅผ ํ๋ ์ด์ ๊ฐ ๋ญ๊น?
A. ์ค์ ์ ์ฅ๋ id ๊ฐ์ ๋ฐ๋ก ํ์ธํ๊ฑฐ๋, id ๊ฐ์ ๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ค๋ฅธ ๊ณณ์ ์ ๋ฌํ๊ฑฐ๋, ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ฑฐ๋, ์ถ๊ฐ ์์ ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค. ์ฆ, ํธ์์ฑ์ ์ํด ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋๋ก ํ๋ค.
์๋ก ์ํ์ ์ฃผ๋ฌธํ๋ฉด ์ฃผ๋ฌธ ๋ฒํธ๊ฐ ๋ฐ๊ธ๋๋๋ฐ, ์ด ๋ฉ์ปค๋์ฆ๊ณผ ๊ฐ๋ค๊ณ ๋ณผ ์ ์์ ๊ฒ ๊ฐ๋ค. ์ฃผ๋ฌธ์ด ๋ค์ด์ค๋ฉด ์ฒ๋ฆฌ ๊ณผ์ ์์ ์ฃผ๋ฌธ์ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผ๋ฌธ์ ๋ํ ๊ณ ์ ๋ฒํธ๋ฅผ ๋ถ์ฌํ ํ, ์ฌ์ฉ์ ํ๋ฉด์ ์ฃผ๋ฌธ ๋ฒํธ๊ฐ ๋ณด์ด๋๋ก ์ฒ๋ฆฌํ๋ค. ์ด๋ ์ฃผ๋ฌธ ๋ฒํธ๋ฅผ ๋ถ์ธ ๊ฐ์ฒด๋ฅผ returnํ๋ฉด ๋ณ๋์ ์ถ๊ฐ์ฝ๋ ์์ด ํด๋น ๊ฐ์ฒด์ ๋ฒํธ๋ฅผ ํ๋ฉด์ ๋ณด์ด๋๋ก ํ ์ ์์ ๊ฒ์ด๋ค.
โถ MemberRepositoyTest.class (๋ณ๊ฒฝ๋ ์ฝ๋)
Member findMember = memberRepository.findById(savedMember1.getId());
assertThat(findMember).isEqualTo(savedMember1);
return์ผ๋ก id๊ฐ ๋ถ์ฌ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ๋ฐํ๊ฐ์ด savedMember1์ ์ ์ฅ์ด ๋๊ณ id๋ฅผ ๋ถ์ฌ๋ฐ์์ผ๋ getId( )๋ก id๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. ๊ทธ๋ฌ๋ฉด findById์ id๋ฅผ ๋ค๊ณ ๊ฐ์ ์ด id์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฌ๋ผ๊ณ ํ๋ค. ๊ทธ ๋์จ ๋ฐ์ดํฐ๋ฅผ findMember์ ๋ฃ์ ํ ๋ด๊ฐ ์ง๊ธ ๊ฐ์ง๊ณ ์๋ savedMember1๊ณผ id๋ฅผ ๋ค๊ณ ๊ฐ์ ๋ฐ์์จ findMember๊ฐ ๊ฐ์์ง ๋ฌป๋๋ค.
๋ง์ฝ retrun member๋ฅผ ์ํ๋ค๋ฉด, MemberRepository์ ์๋ Member savedMember1 = memberRepository.save(member1);์ savedMember1์ ๋๋ ค๋ฐ์ ๊ฐ์ด ์์ผ๋ ์ปดํ์ผ ์ค๋ฅ๊ฐ ์๊ธฐ๊ณ ๋น์ฐํ ๊ฐ์ ๋น๊ตํ์ง๋ ๋ชปํ๋ค.
'๐งธ ์ ๊ทธ๋ฐ๊ฑธ๊นโ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1. ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด (5) | 2024.09.26 |
---|