본문 바로가기

2022동계모각코

2022 동계모각코 2회차 개인 목표 및 결과

일시

2022-01-30 16:00~20:00

 

목표

1회차에 스프링을 전반적으로 이해하는데 도움이 되었다. 이번에는 핵심 원리에 대하여 조금 전반적으로 이해 하려고 한다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

 

결과

예제를 통한 회원 도메인 설계

 

회원등급

package hello.core.member;
public enum Grade {
	BASIC,
	VIP
}

회원 엔티티

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 id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Grade getGrade() {
        return grade;
    }
    public void setGrade(Grade grade) {
        this.grade = grade;
    }
}

회원 저장소

   회원 저장소 인터페이스

package hello.core.member;
public interface MemberRepository {
    void save(Member member);
    Member findById(Long memberId);
}

  메모리 회원 저장소 구현체

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 memberId) {
   		return store.get(memberId);
    }
}

 회원 서비스

   회원 서비스 인터페이스 및 구현체

package hello.core.member;
public interface MemberService {
    void join(Member member);
    Member findMember(Long memberId);
}

package hello.core.member;
public class MemberServiceImpl implements MemberService {
    private final MemberRepository memberRepository = new MemoryMemberRepository();
    public void join(Member member) {
        memberRepository.save(member);
    }
    public Member findMember(Long memberId) {
        return memberRepository.findById(memberId);
    }
}

 

간단한 예제를 통하여 스프링 기초를 다지는 수업이 되었다.