728x90
스프링 기반 REST API 개발
1. REST API 및 프로젝트 소개
포스팅 참조 정보
GitHub
공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다
해당 포스팅에 대한 내용의 GitHub 주소
실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다
https://github.com/freespringlecture/spring-rest-api-study/tree/chap01-04-project_create
해당 포스팅 참고 인프런 강의
https://www.inflearn.com/course/spring_rest-api/dashboard
실습 환경
- Java Version: Java 11
- SpringBoot Version: 2.1.2.RELEASE
4. 스프링 부트 프로젝트 만들기
추가할 의존성
- Web
- JPA
- HATEOAS
- REST Docs
- H2
- PostgreSQL
- Lombok
자바 버전 11로 시작
자바는 여전히 무료다
스프링 부트 핵심 원리
- 의존성 설정 (pom.xml)
- 자동 설정 (
@EnableAutoConfiguration
) - 내장 웹서버(의존성과자동설정의일부)
- 독립적으로 실행 가능한 JAR (pom.xml의 플러그인)
- default 는 compile scope
<optional>
프로젝트를 참조하고 있는 다른 프로젝트에 추이적으로 의존성이 추가되지 않음
Lombok 의존성 추가
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
참고 사항
최초 실행 시 scope를 테스트라고 해두면 테스트 시에만 사용 Application 실행 시 postgresql로 실행하므로 오류가 남
런타임시 별다른 데이터베이스 설정이 없는경우 In-memory DB인 H2를 기본을 설정하게 되어있음
최초 프로젝트 생성 시 pom.xml 에 추가된 dependency
<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>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<!--<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>
728x90
'개발강의정리 > Spring' 카테고리의 다른 글
[스프링 기반 REST API 개발] 1-6. 이벤트 비지니스 로직 (0) | 2019.12.27 |
---|---|
[스프링 기반 REST API 개발] 1-5. 이벤트 도메인 구현 (0) | 2019.12.27 |
[스프링 기반 REST API 개발] 1-3. Events API 사용 예제 (0) | 2019.12.27 |
[스프링 기반 REST API 개발] 1-2. Event REST API (0) | 2019.12.27 |
[스프링 기반 REST API 개발] 1-1. REST API 및 프로젝트 소개 (0) | 2019.12.27 |
댓글