๋ฐ์ํ
- member ํจํค์ง๋ฅผ ๋ง๋ค์ด์ ๋ชฐ์๋ฃ์์ต๋๋ค.
๐ ์๋๋ domain, service, repository ๋๋ ๋ด์์ผ ํด์. - ๋ฑ๊ธ enum grade
๋๋ณด๊ธฐํ์ ๋ฑ๊ธ ๋๊ฐ์ง๋ฅผ ์์ ํด๋์ค๋ก ๋ง๋ค์ด ๋ฌถ์์ต๋๋ค.
package hello.core.member; public enum Grade { BASIC, VIP }
2024.11.28 - [โ JAVA/โ Variables & Data Type] - [JAVA]enum - ๋๋ฉ์ธ Member
๋๋ณด๊ธฐ
package hello.core.member; public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade; } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Grade getGrade() { return this.grade; } public void setGrade(Grade grade) { this.grade = grade; } }
- ์ธํฐํ์ด์ค ๋ฆฌํฌ์งํ ๋ฆฌ MemberRepository
๋๋ณด๊ธฐ
package hello.core.member; public interface MemberRepository { void save(Member member); Member findById(Long memeberId); }
- ๋ฆฌํฌ์งํ ๋ฆฌ MemoryMemberRepository
๋๋ณด๊ธฐ
package hello.core.member; import java.util.HashMap; import java.util.Map; public class MemoryMemberRepository implements MemberRepository{ private static Map<Long, Member> store = new HashMap<>(); @Override public void save(Member member) { store.put(member.getId(), member); } @Override public Member findById(Long memeberId) { return store.get(memeberId); } }
- ์ธํฐํ์ด์ค ์๋น์ค MemberService
๋๋ณด๊ธฐ
package hello.core.member; public interface MemberService { void join(Member member); Member findMember(Long memberId); }
- ์๋น์ค MemberServiceImpl
๋๋ณด๊ธฐ
package hello.core.member; public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository = new MemoryMemberRepository(); @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } }
ํ ์คํธ
- ๋น๊ถ์ฅ ํ
์คํธ์ฝ๋
- junit์ ์ด์ฉํ ๊ถ์ฅ ํ
์คํธ ์ฝ๋
2025.01.05 - [๐ Spring/๐ Spring Boot] - [SpringBoot]ํ์๊ด๋ฆฌ-์๋น์ค์ ํ ์คํธ
์ค๋ช ์ ์ด ํฌ์คํธ๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.๋๋ณด๊ธฐpackage hello.core.member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; public class MemberServiceTest { MemberService memberService = new MemberServiceImpl(); @Test void join() { // given Member member = new Member(1L, "memberA", Grade.VIP); // when memberService.join(member); Member findMember = memberService.findMember(1L); // then Assertions.assertThat(member).isEqualTo(findMember); } }
โป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373
๋ฐ์ํ
'๐ Spring > ๐ Spring Boot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SpringBoot][RestAPI]Get/PostMapping(+json) (0) | 2025.01.26 |
---|---|
[SpringBoot][Maven][RestAPI]ํ๊ฒฝ์ค์ (์์กด์ฑ ์ถ๊ฐ-web, swagger, lombok) (0) | 2025.01.26 |
[SpringBoot]AOP ์ ๋ฌธ-์ค๋ช ๊ณผ ์ฌ์ฉ๋ฒ (0) | 2025.01.10 |
[SpringBoot][Gradle]์คํ๋ง ๋ฐ์ดํฐ JPA. ์ค์ ๋ถํฐ ์ฌ์ฉ๊น์ง ์ ๋ฌธํธ. (0) | 2025.01.10 |
[SpringBoot][Gradle][JPA]์ ๋ฌธ. ์ค์ ๋ถํฐ ์ฌ์ฉ๊น์ง. (1) | 2025.01.10 |