[스프링 핵심 원리] 02.스프링 핵심 원리 이해1(예제 만들기) - 프로젝트 생성 & 비즈니스 요구사항과 설계
(인프런) 김영한님의 스프링 핵심 원리-기본편을 공부하고 리뷰한 글입니다.
1. 프로젝트 생성
1. 사전 준비물
- Java 11 설치
- IDE: IntelliJ 설치
2. 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성
1) 프로젝트 선택
Project: Gradle Project
Spring Boot: 2.6.7(미정식 버전을 제외한 최신 버전)
Language: Java
Packaging: Jar
Java: 11
2) Project Metadata
groupId: hello
artifactId: core
3) Dependencies: 선택하지 않는다.
3. Gradle 전체 설정
build.gradle 설정을 변경하면 코끼리 Click 혹은 Gradle > Reload 해주기!
4. InteliJ Gradle 대신에 자바 직접 실행
최근 InteliJ 버전은 Gradle 을 통해서 실행하는 것이 기본 설정이다. 하지만 실행속도를 빠르게 하기 위해서 자바로 직접 실행하도록 변경한다.
2. 비즈니스 요구사항과 설계
1. 회원
- 회원을 가입하고 조회할 수 있다.
- 회원은 일반과 VIP 두 가지 등급이 있다.
- 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)
2. 주문과 할인 정책
- 회원은 상품을 주문할 수 있다.
- 회원 등급에 따라 할인 정책을 적용할 수 있다.
- 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.)
- 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수 도 있다. (미확정)
요구사항을 보면 회원 데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다.
하지만 우리는 객체 지향 설계 방법에 따라 인터페이스를 만들고 구현체를 언제든지 갈아끼울 수 있도록 설계하면 된다.
(참고) 프로젝트 환경설정을 편리하게 하려고 스프링 부트를 사용한 것이다. 지금은 스프링 없는 순수한 자바로만 개발을 진행한다는 점을 꼭 기억하자! 스프링 관련은 한참 뒤에 등장한다.