* 인프런 김영한님의 '스프링 입문' 강의를 듣고 작성한 내용입니다! (https://inf.run/txXC)
회원 도메인 생성
도메인 : 비즈니스 도메인 객체(회원)
1. hello.hellospring/domain (package 생성)
2. domain/Member (Class 생성)
[Member.java 소스코드]
- 회원은 id와 name을 가지기 때문에 id, name 변수를 만들어준다
- id, name에 각각에 대한 getter/setter을 만들어준다
회원 레포지토리 인터페이스 생성
레포지토리 : DB에 접근. 도메인 객체를 DB에 저장하고 관리. 아직 DB를 선정하지 못했으므로 interface로 만들어 놓고 나중에 갈아끼운다
1. hello.hellospring/repository (package 생성)
2. repository/MemberRepository (interface 생성)
[MemberRepository.java 소스코드]
- 구현해야 할 기능을 적어준다
- save() : 회원 저장.
- findById() : 회원 id를 통해 회원 검색
- findByName() : name을 통해 회원 검색
- findAll() : 전체 회원 검색
- Optional : id, name을 통해 회원을 검색할 때, 해당하는 회원이 없을 수 있다(null) -> 이것을 처리하기위해 사용(java8)
회원 레포지토리 구현체 생성(메모리)
1. hello.hellospring/repository/MemoryMemberRepository
[MemoryMemberRepository.java 소스코드]
- implements MemberRepository 후 alt + insert 단축키로 구현해야 할 method 전체 가져오기
- 회원 정보를 저장해줄 Map 생성(동시성 문제가 있지만 현재는 그냥 진행)
- 회원 id는 입력받는게 아니라 자동으로 생성되게 할것이므로 long type sequence 변수 선언
- 여기서의 clearStore()함수는 테스트시에 필요한 함수
save()
- member 저장시 sequence를 증가시켜서 id로 설정(현재 member의 이름은 입력받은 값으로 설정 되어있음)
- store(Map)에 회원정보 저장후 member 객체 return
'개발 > Spring' 카테고리의 다른 글
[스프링 입문] 스프링 회원관리 예제 - 4. 회원 서비스 개발 및 테스트 (0) | 2021.06.29 |
---|---|
[스프링 입문] 스프링 회원관리 예제 - 3. 회원 레포지토리 테스트 케이스 작성 (0) | 2021.06.29 |
[스프링 입문] 스프링 회원관리 예제 - 1. 비즈니스 요구사항 정리 (0) | 2021.06.29 |
[스프링 입문] 스프링 정적컨텐츠, MVC, API (0) | 2021.06.29 |
[스프링 입문] 스프링 빌드하고 실행하기 (0) | 2021.06.29 |