Java/Spring Boot

Spring Boot 프로젝트 만들기

zdiv 2023. 1. 15. 11:27

1. Spring Initializer 페이지에서 프로젝트 골격을 만든다.

브라우저에서 https://start.spring.io/ 주소를 입력하여 연결한다.

왼쪽에서 프로젝트 관리 툴, 개발 언어, 자바 버전 등을 선택한다.

우측 상단의 Add Dependencies 에서 추가하고 싶은 모듈들을 선택한다.

모두 선택했으면 하단의 Generate 버튼을 눌러서 프로젝트 뼈대를 생성 및 다운로드 받는다.

이 때, demo.zip 파일을 다운 받게 된다.

※ 여기서는 Maven, Java, Spring Boot 3.01 로 프로젝트를 선택하고, 요소로는 Spring Web만을 선택해서 최소한의 기능으로 뼈대를 만든다. 패키지는 Jar 와 War 중에서 선택할 수 있는데, Jar로 만들게 되면 내장된 tomcat 서버를 통하여 바로 자바 프로그램으로 구동할수 있는 편리함이 있으므로 여기서는 Jar 파일을 선택한다.

 

2. 컨트롤러를 추가한다.

demo.zip 에는 다음과 같은 디렉토리들이 들어 있다.

 

 /src/main/java/com/example/demo 폴더 밑에 DemoApplication.java 파일이 있는데, 여기가 Entry Point 이다.

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

 

그런데 이것만으로는 웹페이지가 구동되지 않는데, REST API를 처리하는 컨트롤러 부분이 빠져 있기 때문이다.

따라서, 위의 파일이 있는 폴더에 다음과 같이 HelloController.java 컨트롤러 파일을 추가한다

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

	@GetMapping("/")
	public String index() {
		return "Greetings from Spring Boot!";
	}

}

 

3. 포트를 지정한다.

/src/main/resource 폴더에 있는 application.properties 파일에 다음과 같은 부분을 추가해서 포트 번호를 지정한다.

포트번호를 지정하지 않으면 기본적으로 8080 포트로 동작하는데, 다른 서비스와 충돌할 가능성이 있으므로,

여기서는 18081 으로 변경한다.

server.port = 18081

 

4. 패키지를 빌드한다.

프로젝트의 가장 상위 폴더에 보면 mvnw (윈도우에서는 mvnw.cmd) 파일이 존재하는데, 여기서 다음과 같이 입력하여 패키지를 빌드한다.

mvnw.cmd clean package

 

다음과 같이 빌드가 완료되면 target 폴더 밑에 demo-0.0.1-SNAPSHOT.jar 파일이 생성된다.

 

5. Jar 파일을 구동한다.

다음과 같이 스프링 앱을 구동한다.

java -jar demo-0.0.1-SNAPSHOT.jar

 

Jar 파일로 deploy 하지 않고 개발 중에는 소스에서 바로 구동할 수 있는데, 다음과 같은 명령어를 이용한다.

mvnw.cmd spring-boot:run

 

6. 브라우저로 접속한다.

주소는 다음과 같이 입력한다.

localhost:18081

다음과 같이 출력되면 정상적으로 빌드 및 구동된 것 이다.

 

 

7. 소스 코드

demo.7z
0.06MB

'Java > Spring Boot' 카테고리의 다른 글

String Boot + ThymeLeaf 프로젝트 만들기  (0) 2023.01.15
Spring Boot로 웹 서비스 만들기  (0) 2023.01.15