앞서 설계한 회원 도메인을 시작으로, 실제로 개발할 예제를 위한 프로젝트를 생성한다.
이번 예제는 순수 자바 코드만을 이용해 객체 지향 프로그래밍을 개발하는 것이 목적으로, 스프링 기능을 이용하지 않는다.
지금 생성할 프로젝트는 그저 편의상 생성하는 껍데기 프로젝트다.
프로젝트 생성
https://start.spring.io/에 접속해서 간단한 프로젝트를 생성한다.
[Project]
- Gradle-Groovy
[Language]
- Java
[Spring Boot]
- 2.7.16
강의에서 2.x 버전 기준으로 설명하기 때문에 2.7.16버전을 선택했다.
뒤에 SNAPSHOT, M3 등이 붙지 않고 버전만 있는 것이 stable한 버전이다.
Project Metadata
[Group]
- hdxian
- 어플리케이션 제작사 등을 구분하는 일종의 도메인이다. 자세히 배우진 않아서 임의로 정했다.
[Artifact]
- hdxian-spring-core
- 빌드할 때 붙는 이름이 된다. 역시 자세히 배우진 않아서 내가 알아볼 수 있게 임의로 정했다.
- 강의에서는 그냥 core라 붙인다.
[Name]
- Artifact와 같은 값으로 자동으로 작성된다. 딱히 건드리지 않았다.
[Description]
- 말그대로 설명. 딱히 건드리지 않았다.
[Package name]
- <group>.<artifact> 꼴로 만들어진다.
[dependencies]
- 아무것도 설정하지 않았다.
- 이전 스프링 입문 강의에서는 웹 서버를 띄워보기 위해 Spring Web, thymeleaf를 추가했었다.
설정을 마치고 화면 좌측 하단의 [Generate] 버튼을 누르면 압축 파일이 다운로드 된다.
파일을 압축 해제하고, IntelliJ에서 [open] 선택, 압축 해제한 파일의 build.gradle을 [open as project]로 열면 프로젝트가 생성된다.
처음 프로젝트를 생성하면 라이브러리를 다운받고 빌드하느라 시간이 좀 걸리기 때문에, 조금 기다리면 된다.
프로젝트 환경 설정
build.gradle 파일을 살펴보면 각종 프로젝트 정보를 확인할 수 있다.
intelliJ IDEA 기준, 화면 좌측 Gradle 창을 열면 tasks, dependencies 등을 확인할 수 있다.
spring-context, spring-core가 스프링의 핵심 라이브러리다. (당장은 쓰지 않는다)
화면 상단 메뉴에서 [File]-[Project Structure]로 들어가 프로젝트의 sdk 버전을 확인한다.
가끔 딴걸로 돼있는데, 자바 버전이 안맞으면 코드에서 문제가 생길 수 있다.
마찬가지로 [File] - [Settings] - [Build]에 들어가 Build and Run 항목의 설정들을 ItelliJ IDEA로 바꾸고, Gradle GVM 버전도 11인지 확인한다.
자바 버전은 당연히 맞춰야 하고, Build and Run 항목은 IntelliJ로 하는것이 속도가 더 빠르다.
Gradle을 거치지 않고 코드를 실행하기 때문에 빠르다는데.. 자세히는 모르겠다.
테스트
main-java-<패키지명> 경로 하위에 ~~Application 이라는 이름의 클래스가 생성된다.
이 클래스의 main 메서드를 실행한다.
이런 식으로 정상 종료되면 프로젝트가 잘 구성된 것이다.
웹 서버 등을 추가하지 않았기 때문에 아무것도 동작하지 않고 그대로 프로그램이 종료된다. 말 그대로 껍데기 프로젝트.
스프링 입문 강의에서는 웹 서버를 추가해서 프로젝트를 생성한다. 차이점이 궁금하다면 아래 포스트를 참고하길 바란다.
https://debuggingworld.tistory.com/38
스프링 입문) 1. 프로젝트 생성
스프링 프레임워크(Spring Framework)은 java 기반의 애플리케이션 개발 프레임워크로, 간단히 스프링(Spring)이라고도 부른다. 스프링은 다양하고 편리한 기능들을 제공해 서버 개발에서 많이 쓰인다.
debuggingworld.tistory.com
다음 포스트에서는 생성한 프로젝트에 이전에 설계한 회원 도메인을 실제로 개발해본다.
'[inflearn] 스프링 핵심 원리 - 기본편 > 섹션 2 - 예제 만들기' 카테고리의 다른 글
10. 주문과 할인 도메인 개발 (0) | 2023.10.06 |
---|---|
9. 주문과 할인 도메인 설계 (0) | 2023.10.05 |
8. 회원 도메인 테스트와 고려할 점 (0) | 2023.09.27 |
7. 회원 도메인 개발 (0) | 2023.09.27 |
5. 비즈니스 요구사항과 회원 도메인 설계 (0) | 2023.09.23 |