spring-project

Spring boot 프로젝트 초기 생성

가는가래 2019. 2. 23. 02:36

Spring boot 프로젝트 초기 생성


1. SPRING INITIALIZR 접속하여 스프링 부트 초기 프로젝트를 생성한다.

 

Spring Boot 2.1.3 + Gradle 선택

Group 입력

Artifact 입력

Dependencies 입력

 

Web

Security

JPA

DevTools

MySQL

Lombok

Aspects

Redis

Kafka

Mail

Elasticsearch

 

입력 Generate Project 버튼을 클릭하여 스프링 부트 프로젝트를 다운 받는다.(backend.zip 다운로드)



[Spring INITIALIZR 설정 입력 화면]



 

각각의 라이브러리 관련 Getting Started 가이드 문서

 

Guides

The following guides illustrates how to use certain features concretely:

 

* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)

* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)

* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/)

* [Securing a Web Application](https://spring.io/guides/gs/securing-web/)

* [Spring Boot and OAuth2](https://spring.io/guides/tutorials/spring-boot-oauth2/)

* [Authenticating a User with LDAP](https://spring.io/guides/gs/authenticating-ldap/)

* [Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/)

* [Accessing data with MySQL](https://spring.io/guides/gs/accessing-data-mysql/)

* [Messaging with Redis](https://spring.io/guides/gs/messaging-redis/)

* [Building a RESTful Web Service with Spring Boot Actuator](https://spring.io/guides/gs/actuator-service/)

 

2. IntelliJ workspace 압축 파일을 이동 뒤에 파일의 압축을 해제한다.


3. IntelliJ File - Open 에서 압축을 해제한 디렉토리를 선택하면 자동으로 'Import Project from Gradle' 뜬다.

- Use auto-import 체크 OK 버튼 클릭


4. 프로젝트 자동 빌드 오류가 없으면 셋팅 완료.


5. GitHub 프로젝트를 올린다.

IntelliJ VCS메뉴에 GitHub Share 항목이 있다.

GitHub 해당 프로젝트 repository 생성되었는지 확인.

 

 build.gradle 참조

 
plugins {
	id 'org.springframework.boot' version '2.1.3.RELEASE'
	id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'com.quickguide'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-actuator'
	implementation 'org.springframework.boot:spring-boot-starter-aop'
	implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch'
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-data-redis'
	implementation 'org.springframework.boot:spring-boot-starter-mail'
	implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.kafka:spring-kafka'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'mysql:mysql-connector-java'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.springframework.kafka:spring-kafka-test'
	testImplementation 'org.springframework.security:spring-security-test'
}