SPRING 핵심 원리 이해1 - 예제 만들기
[프로젝트 생성하기]
1. 사전 준비물
- Java 17이상 설치
- IDE:intelliJ 설치
2. start.spring.io : 스프링 부트 스타터 사이트로 이동하여 스프링 프로젝트 생성
(1) 프로젝트 선택
- Project : Gradle - Groovy
- Language : Java
- Spring Boot : 3.2.5
- Packaging : Jar
- Java : 17
(2) Project Metadata 설정
- Group명: hello
- Artifact명 : core
(3) Dependencies : 선택하지 않음!
(4) GENERATE 누르기 -> core.zip 파일 생성됨
3. core.zip 압축을 풀고 IntelliJ 에서 build.gradle 연다.
4. 실행되는 지 확인하는 방법
src -> main -> java -> hello.core -> CoreApplicaition -> 코드위 초록색 실행 버튼
5. 추가 설정 (설정에 들어가서 Gradle 검색)
[비즈니스 요구사항과 설계]
* 참고: 프로젝트 환경설정을 편리하게 하려고 스프링부트를 이용하는 것임. 현재는 순수한 자바로만 개발을 진행할 예정.
1. 회원
- 회원을 가입하고 조회
- 회원은 일반과 VIP 두가지 등급으로 나뉨
- 회원 데이터는 자체 DB를 구축하고, 외부 시스템과 연동할 수 있음 (미확정)
2. 주문과 할인 정책
- 회원은 상품을 주문할 수 있음
- 회원 등급에 따라 할인 정책 적용
- 할인 정책: 모든 VIP는 1000워능ㄹ 할인해주는 고정 금액 할인 적용 (나중에 변경 가능)
- 할인 정책 변경 가능성 높음. 회사의 기본 할인정책이 미정이고, 오픈 직전까지 고민을 미루고 싶음. 최악의 경우에는 할인을 적용하지 않을 수도 있음 (미확정)
[회원 도메인 설계]
1. 회원 도메인 요구사항
- 회원을 가입하고 조회할 수 있다.
- 회원은 일반과 VIP 두 가지 등급이 있다.
- 회원 데이터는 자체 DB를 구출할 수 있고, 외부 시스테모가 연동 할 수 있다. (미확정)
메모리 회원 저장소
- 간단한 자바 코드를 이용하여 메모리로 객체를 넣었다 뺐다 할 메모리 역할.
- 테스트, 로컬에서 둘 다 사용할 예정.
- 메모리이기 때문에 재부팅 경우 데이터가 삭제될 수 있음. -> 개발용으로만 사용
- 개발하다가 나중에 DB회원 저장소와 외부시스템으로 갈아끼울 것임.
회원저장소 = MemberRepository
구현 클래스 = MemoryMemberRepository , DbMemberRepository
회원 서비스: MemberServiceImp