친구가 동생 시험 준비를 위하여 간단한 문장 맞추는 어플리케이션을 만든다고 하여 백엔드를 구성해주기로 했는데 Node.js로 하면 금방 끝나겠지만 또 새로운 학문을 핥아보는 것을 좋아하는 변태적 취향때문에 스프링부트로 만들어 보기로 했다.
아예 해본적이 없어 오늘은 간단하게 구조와 작동원리 정도만 익히고 1~2일정도만 투자해 볼 생각이다.
자바 기반의 프레임워크인 스프링에서 개발을 더 빠르고 쉽게 할 수 있도록 돕는 도구로 스프링부트를 사용하면 복잡한 설정 없이 바로 실행 가능한 애플리케이션을 만들 수 있다.
또 개발자가 명시적으로 설정하지 않아도 필요한 설정을 자동으로 해주고 Tomcat 웹 서버가 내장되어 있어 서버 설치없이 애플리케이션 실행이 가능하다. 그리고 기본적으로 설정된 프로젝트 구조와 템플릿을 제공하여 스프링 설정에 대해 신경 쓸 필요 없이 개발을 시작할 수 있다는 장점이 있다.
스프링 이니셜라이저(https://start.spring.io/)에서 프로젝트를 생성할 수 있다. 여기에서 기본 프로젝트 설정(언어, 빌드 도구, 의존성 등)을 선택한 후 다운로드하여 바로 시작할 수 있다.
필요한 정보를 입력하고 GENERATE를 누르면 압축파일을 다운받을 수 있는데, 이게 프로젝트이다.
이클립스나 인텔리제이를 이용하여 열면 된다.
기본적으로 @SpringBootApplication
어노테이션을 사용한 메인 클래스가 생성되어 있고 이 클래스는 스프링부트 애플리케이션을 실행하는 시작점이 된다.
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
간단한 웹 애플리케이션을 만들려면 @RestController
나 @Controller
를 사용하여 웹 요청을 처리할 수 있다.
package com.example.san.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data","hello!");
return "hello";
}
}
주말 간 기분전환 겸 새로운 공부 좀 하고 간단한 서버 하나 만든 후 다시 원래 하던걸로 돌아가야겠다..
몸이 다섯개였으면 좋겠다. ㅋㅋ