-
Spring REST API 프로젝트 공부 - 01Java/Spring 2018. 12. 21. 14:24
이번 글은 제대로된 Spring REST API 프로젝트를 생성하고 구현해 가면서 공부한 내용들을 전부 정리할 예정이다.
직접 공부한 내용을 기록하면서 잊지않고 지속적으로 복습해가면서 스킬업을 해야겠다.
공부를 시작하기에 앞서 개발 환경은 다음과 같다.
- OS
- Mac Os
- IDE
- IntelliJ
- JAVA
- 버전 8
- Database
- H2
- PostgreSQL
수강하고 있는 강좌에서 IntelliJ를 IDE로 사용하기에 다운받아 사용하기로 했다.운좋게 대학교 때 사용하던 학생 계정이 있어서 대학교 이메일로 인증을 했다.학생계정을 인증하면 1년동안 Ultimate 버전을 사용할 수 있다.- 프로젝스 생성1. IntelliJ 를 실행하고 [Create New Project] 로 새 프로젝트를 생성한다.IntelliJ Ultimate 버전에서는 Spring 을 기본적으로 지원하기 때문에 새 프로젝트를 생성할때 Spring Initialzr에서 손쉽게 프로젝트를 생성 할 수 있다.만약 Ultimate 버전이 아니거나 Eclipse에서 진행을 한다면 https://start.spring.io에서 직접 프로젝트를 생성하고 다운받은 압축파일을 압축을 풀고 import하면 된다.2. 프로젝트 기본정보 설정
아래 이미지의 내용대로 입력했다.
Name은 이름이 길어지기 때문에 rest-demo로 짧게 설정했다.
여기에 입력하는 정보는 개인적인 정보이기 때문에 원하는 값으로 입력하면 된다.
프로젝트 타입은 Maven으로 하고, Language랑 Packagin 방식 Java 버전만 잘 입력하자.
Gradle로 진행 하고 싶은 사람은 Gradle로 진행해도 무방하다.
3. 의존성 추가
의존성은 아래 목록을 추가할 예정이다.
-
● Web
● JPA
● HATEOAS
● REST Docs
● H2
● PostgreSQL
● Lombok
추가된 Dependency들이 아래 이미지 화면 우측에 나열 돼 있다.4. 프로젝트 생성 완료
pom.xml 파일을 확인해서 주석에 관한 내용을 수정한다.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.pang</groupId>
<artifactId>spring-rest-project-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rest-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<!--<scope>runtime</scope>-->
<!--postgreSql의 runtime scope를 compile scope로 변경한다. 그냥 지우면 된다.-->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<!-- optional이 돼 있으면 나중에 이 프로젝트를 참조하는 다른 프로젝트에 이 의존성이 추가 되지 않는다는 의미이다.
이 프로젝트에서만 의존성이 주입된다는 말이다.-->
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
<!--h2는 test 할때 사용할 in memory 디비이기 때문에 scope를 test scope로 변경한다.-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>일단 프로젝트 생성까지 끝났다 추가적으로 공부를 진행하면서 기록을 남겨야겠다.
'Java > Spring' 카테고리의 다른 글
[Maven] - Mac OS에 Maven 설치하기 (mvn : command not found 해결하기) (0) 2019.01.09 Spring MVC 기본 설정 02 - Annotation을 이용한 Spring mvc Config (0) 2018.12.19 Spring MVC 기본 설정 01 - 기본적인 pom.xml dependency 목록 (0) 2018.12.19 Spring Boot 로 만드는 Upload와 Download Rest API - JPA - Hibernate 연결하기 (0) 2018.12.18 Spring Boot 로 만드는 Upload와 Download Rest API 예제-05 (4) 2018.12.17 댓글