Spring Boot Web 어플리케이션 기동
Web 어플리케이션 기동
여기서는 Spring Boot - Hello World을 수정하도록 하겠다.
Web 어플리케이션에 대한 의존성 변경
build.gradle
dependencies {
- compile 'org.springframework.boot:spring-boot-starter'
+ compile 'org.springframework.boot:spring-boot-starter-web'
}
Web 어플리케이션을 만드는 경우는 spring-boot-starter-web
모듈을 사용한다.
기본적으로 Spring MVC를 사용하여 Web 응용 프로그램을 만들게 된다.
기동 방법 변경
서버 시작 후 컨테이너가 종료 해 버리므로 try-with-resources 문장은 사용하지 않도록 변경한다.
src/main/java/sample/springboot/Main.java
package sample.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
}
Spring MVC 컨트롤러 클래스
Web API의 진입 점(Entry point)이 되는 클래스를 만드는 경우 @RestController을 클래스에 부여한다.
Web API 대신 MVC에서 C가 되는 컨트롤러 원한다면 @Controller 어노테이션을 부여한다.
@RequestMapping
에서 경로 및 HTTP 메소드의 매핑을 한다 (대략 JAX-RS와 같은 분위기).
src/main/java/sample/springboot/web/HelloController.java
package sample.springboot.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class HelloController {
@RequestMapping(method=RequestMethod.GET)
public String hello() {
return "Hello Spring MVC";
}
}
어플리케이션 실행
Gradle로 실행
$ gradle bootRun
(생략)
> :bootRun
curl으로 테스트하기
$ curl http://localhost:8080/hello
Hello Spring MVC
소스 코드
최종 수정 : 2017-12-17