관리 메뉴

거니의 velog

(4) 스프링 부트 프로젝트 실행하기 본문

Java_Spring Boot

(4) 스프링 부트 프로젝트 실행하기

Unlimited00 2023. 11. 27. 20:38

* 이번에는 생성한 프로젝트를 실행해 보자. MyBoot01Application.java와 ServletInitializer.java는 스프링 프로젝트 생성 시 자동으로 만들어지는 파일이다.

1. application.properties 에서는 프로젝트 전체와 관련된 기능을 설정한다. 먼저 톰캣 요청 포트 번호와 세션 유효 시간을 설정한다.

#Server
#톰캣 포트 번호를 설정한다.
server.port=8090
server.session.timeout=360000

2. 다음은 스프링 프로젝트 생성 시 자동으로 만들어지는 main() 메서드이다.

package com.myboot01;

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

@SpringBootApplication // 스프링 부트 애플리케이션으로 설정한다.
public class Myboot01Application {

	public static void main(String[] args) {
		SpringApplication.run(Myboot01Application.class, args);
	} // 스프링 부트 프로젝트는 반드시 main() 메서드가 있어야 한다.

}
* 스프링 부트 프로젝트는 main() 메서드를 시작점으로 실행하므로 MyBoot01Applicaion.java가 반드시 있어야 한다.
  이는 스프링 부트의 웹 애플리케이션을 일반 자바 애플리케이션처럼 개발하려는 의도 때문이다.
  그리고 ServletInitializer.java 파일에 생성된 ServletInitializer 클래스는 SpringBootServletInitializer 클래스를
  상속 받는다. 
  SpringBootServletInitializer의 역할은 스프링 부트 애플리케이션을 web.xml 없이 톰캣에서 실행하게 해주는 것이다.

3. DemoController 컨트롤러 클래스는 모든 요청에 대해 "Hello Boot!"라는 메시지를 브라우저에 출력하는 역할을 한다.

package com.myboot01;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class DemoController {

	@ResponseBody
	@RequestMapping("/") // 모든 요청을 처리한다.
	public String home() {
		System.out.println("Hello boot!");
		return "Hello boot!"; // 브라우저로 출력한다.
	}
	
}

4. 스프링 부트 애플리케이션은 내장된 톰캣을 통해 실행한다. 따라서 예전처럼 톰캣을 설치해 애플리케이션을 등록할 필요 없이 일반 자바 애플리케이션처럼 실행하면 된다.

* 프로젝트 이름 위에서 마우스 오른쪽 버튼을 클릭한 후 Run As > Spring Boot App을 선택한다.

5. 스프링 부트 애플리케이션이 실행되면서 STS 콘솔창에 다음과 같은 로그가 출력된다.

6. http://localhost:8090으로 요청하면 브라우저에서 "Hello Boot!"를 출력한다.

7. STS 콘솔에서도 "Hello Boot!"를 출력한다.