ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring REST API 프로젝트 공부 - 01
    Java/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>



    일단 프로젝트 생성까지 끝났다 추가적으로 공부를 진행하면서 기록을 남겨야겠다.

    댓글

Designed by Tistory.