[Spring] 예제 1 만들기_1 (JAVA)

앞서 배운 대로 역할과 구현 즉, 인터페이스와 구현 객체로 나누어 하나의 예제를 개발할 것인데, 스프링의 도움 없이 순수한 자바만을 사용하여 개발을 할 것이다. 이를 통해 추후에 실제 요구사항의 변화가 발생했을 때, 정말 유연하게 대처가 가능한가 와 다형성, OCP, DIP가 잘 지켜졌는지를 확인하고 문제가 있다면 다음 포스팅에서 객체 지향의 원리를 적용하여 해결해 나가 보자. 

 

목차는 다음과 같다.  

  1. 프로젝트 생성
  2. 비즈니스 요구사항과 설계
  3. 회원 도메인 설계
  4. 회원 도메인 개발
  5. 회원 도메인 실행과 테스트
  6. 주문과 할인 도메인 설계
  7. 주문과 할인 도메인 개발
  8. 주문과 할인 도메인 실행과 테스트

프로젝트 생성

이번 프로젝트는 순수한 자바만을 사용하지만, 프로젝트를 Setting 할 때는 편의를 위해 스프링 부트를 사용한다.

링크에 접속해 스프링 프로젝트를 생성한다. 이때 설정 값들은 다음과 같다.

  • Project : Gradle Project
  • Language : Java
  • Spring Boot : 여러 가지 버전 중 가장 안정화된 최신 버전(이 프로젝트에서는 v2.7.1)
  • Project Metadata
    • Group : hello
    • Artifact(프로젝트 빌드명) : core
  • Packaging : Jar
  • Java : 11(Java 11 버전을 사용할 것이다.)
  • Dependencies : 선택X

위 설정을 토대로 GENERATE를 선택해 프로젝트를 다운로드하여 build.gradle 파일을 IntelliJ를 통해 실행시킨다.

최종적으로 다음과 같은 화면의 프로젝트를 생성할 수 있다.

build.gradle 파일의 15줄 dependencies부분을 확인해보면 spring-boot-starter만 사용하고 있는 것을 확인할 수 있다.

 

src/main/java/hello.core/CoreApplication.java를 선택해 실행해보면 아래와 같이 나타나는 것을 확인할 수 있다.


※ 최근 IntelliJ 버전은 Gradle을 통해서 실행하는 것이 기본 설정이다. 이렇게 하면 실행 속도가 느리기 때문에 다음과 같이 변경하면 자바로 바로 실행해서 속도가 더 빠르다.


여기까지가 개발을 위한 프로젝트 설정 과정이었다. 다음 포스팅에서 실제로 설계하고 구현해보자.