Backend/Spring

SPRING 핵심 원리 이해1 - 예제 만들기

잉나영 2024. 5. 11. 14:54
728x90
반응형

[프로젝트 생성하기]

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 연다.

 

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

728x90
반응형