
들어가며...
Spring Boot을 개발하기 위한 STS IDE를 설치하였으므로 간단하게 Sample Project를 작성해 보도록 하겠습니다. 최종 형상을 정하고 단계별로 정리하면 좋을 듯 하나 현재로써는 그때 그때 필요한 내용을 무작위로 선정하여 개념을 공부하는 위주로 정리할 계획입니다.
- Table of Contents
- 프로젝트 생성하기
- 프로젝트 기본 환경 설정하기
- Dependency 설정 및 프로젝트 생성
- 패키지 및 클래스 생성
- 샘플 API 구현
- 결과확인
Sample Project
● 프로젝트 생성하기
STS 상단 메뉴의 "File > New > Spring Starter Project" 탭을 눌러 신규 Spring Boot 프로젝트를 생성합니다.

● 프로젝트 기본 환경 설정하기
프로젝트를 생성하면 아래와 같은 팝업창이 뜨게되는데 본인의 환경 및 원하는 구성에 맞게 각각의 값들을 선택/입력 하시면 됩니다.

주요 항목에 대해 간략하게 설명하면 아래와 같습니다.
항목 | 설명 |
Name | 프로젝트명으로 해당 이름으로 폴더명이 생성됩니다. |
Type | 프로젝트 관리 및 빌드 도구를 설정하는 옵션 : Maven, Gradle 중 선택할 수 있다. |
Packaging | 프로젝트 결과물을 어떠한 형태로 패키징할 것인지 선택하는 옵션으로 Jar, War를 선택할 수 있으며 Jar의 경우 WAS가 embbeded되어 있어 별도의 WAS없이 동작할 수 있으며 war로 선택 시 별도의 WAS에 해당 war를 위치시켜 실행시키고자 할 때 선택한다. |
Java Version | 본인이 설치한 JDK버전 중 사용하고자 하는 버전을 선택한다. |
Language | Java, Kotlin, Groovy 선택 가능 |
Group / Artifact | 두 개의 조합으로 현재 프로젝트를 구별하는 Key값이 된다. |
Package | Default package명 |
적절한 옵션을 선택한 후 "Next" 버튼을 클릭합니다.
● Dependency 설정 및 프로젝트 생성
Spring Boot에서 기본적으로 구성해 논 의존성 (Dependency) library를 선택하는 화면입니다. 다양한 것들이 있으나 현재 작성하고자는 프로젝트는 기본적인 RESTful 기반의 API만 동작하면 되므로 현재는 "Spring Web"만 선택합니다.

필요한 라이브러리를 선택했으면 "Next 버튼을 클릭하고...

"Finish"버튼을 클릭하면 필요한 라이브러리 다운로드 및 설정한 값으로 기본 프로젝트를 생성하게 됩니다.

● 패키지 및 클래스 생성
Controller Class를 구현할 패키지와 반환할 Model Class를 구현할 패키지를 각각 설정한다. 패키지명은 각각 "com.example.demo.controller", "com.example.demo.dto"로 설정하고 "com.example.demo.controller" 패키지엔 "SampleController.java" 클래스를 생성하고 "com.example.demo.dto" 패키지엔 "UserDto.java" 클래스를 생성한다.(패키지 및 클래스명은 본인의 취향데로 생성하여도 무방합니다.)

패키지 및 클래스 생성 후 위와 같은 형태로 패키지가 보이지 않는 분들도 계실 것입니다. 이는 패키지 구성을 보여주는 방식의 차이 때문에 그런 것이며 "Package Explorer" 우측의 "View Menu" (아래로 세모모양 아이콘)을 클릭하시면 "Package Presentation" 항목이 있으며 해당 항목 중 "Flat", "Hierarchical"을 선택하시어 본인의 취향에 맞는 표현방식을 선택하시면 되겠습니다.

● 샘플 API 구현
"UserDto.java" 클래스 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package com.example.demo.dto;
public class UserDto {
private String name;
private int age;
private String desc;
////////////////////////////////////////////////////////////////////////////////////////////
//< constructors
/**
* Constructor
*/
public UserDto(String name, int age, String desc) {
this.setName(name);
this.setAge(age);
this.setDesc(desc);
}
////////////////////////////////////////////////////////////////////////////////////////////
//< private functions
////////////////////////////////////////////////////////////////////////////////////////////
//< public functions
////////////////////////////////////////////////////////////////////////////////////////////
//< getter and setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
|
"SampleController.java" 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
// Classic controller
// : HTTP request 시 적당한 file path와 매핑되는 최초 진입 시점
@Controller
public class SampleController {
// @RequestMapping : HTTP 통신 Method, file path등을 정의하여 일치하는 요청인 지 Mapping하는 Annotation
// : value : @Controller하위의 추가 file path를 정의
// : method : HTTP method 정의
// @ResponseBody : 보통 @Controller와 같이 사용되며 HTTP response body에 데이터를 직접 serialize하여 반환하고자 할 경우
// 사용한다. (보통은 Object를 JSON serialize하여 반환코자 할 경우 사용.)
public @ResponseBody UserDto getUserInfo() {
//< create a new user information
UserDto userInfo = new UserDto("Leo", 18, "Controller");
return userInfo;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
● 결과확인
위 단계까지 수행하였다면 Spring Boot Project를 실행시킵니다. 실행방법은 상단 메뉴의 "Run > Run"을 클릭하거나 상단 아래의 아이콘 모음중에서 초록색 플레이 아이콘을 클릭 또는 단축키 (맥의 경우 디폴트 단축키 : shift+command+F11)를 이용하시면 됩니다.

실행화면

위 Spring Boot 실행화면을 보면 포트번호 "8080"으로 실행된 것을 확인할 수 있습니다. Browser에 "localhost:8080/user01"을 입력하시거나 RESTful Client Tool을 이용하여 결과를 확인하시면 됩니다. 본 글에서는 아래와 같이 "Postman"을 이용하여 정상 동작함을 확인하였습니다.

U2ful은 ♥입니다. @U2ful Corp.
'Programming > Spring Boot' 카테고리의 다른 글
[Spring Boot][H2 Database 연동 2/2] H2 Console 사용 및 설정 (0) | 2020.03.11 |
---|---|
[Spring Boot][H2 Database 연동 1/2] Sample Project (0) | 2020.03.10 |
[Spring Boot][기본 2/3] 기본설정 (0) | 2020.01.16 |
[Spring Boot][기본 1/3] 맥(Mac)에 STS(Spring Tool Suite) 설치하기 (4) | 2020.01.16 |