MapleStory Cookie With Halo

๐Ÿƒ Spring/๐Ÿƒ Spring Boot

[Spring]์ˆœ์ˆ˜ ์ž๋ฐ” ๊ฐœ๋ฐœ-ํšŒ์› ๋„๋ฉ”์ธ ๊ฐœ๋ฐœ๊ณผ ํ…Œ์ŠคํŠธ

๋‰ด์ด NUEY 2025. 1. 17. 00:37
๋ฐ˜์‘ํ˜•

 

์ด์ „ ํŽธ : 2025.01.12 - [๐Ÿƒ Spring] - [Spring]์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ-๊ธฐ๋ณธํŽธ. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๊ณผ ๋น„์ง€๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ.


 

  • 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);
        }
    
    }

 


 

ํ…Œ์ŠคํŠธ

 

 


โ€ป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373

๋ฐ˜์‘ํ˜•