김영한 교수님의 스프링 입문편을 보고 정리한 노트이다. 절대 공유 및 배포 금지.
https://github.com/jjj5306/basic-spring
스프링에서 운영하는 스프링부트 기반 스프링 프로젝트를 만들어주는 사이트를 이용하여 프로젝트를 만들 수 있다.
https://start.spring.io/ 사이트에 들어가보면 Maven, Gradle을 선택할 수 있는데, 이들의 역할은 필요한 라이브러리를 땡겨오고 빌드하는 라이프 사이클까지 관리해주는 툴이다. 요즘에는 Gradle만 사용한다.
이렇게 만든 프로젝트를 열어보면 src.main, src.test로 나뉜다. Test가 기본적으로 나눠져있는 만큼 요즘에는 테스트 코드가 굉장히 중요하다.
main.java에 실제 패키지, 코드들이 들어있고 resources에는 xml 등 설정 파일이 들어간다.
스프링 부트가 build.gradle 같은 설정 파일을 지원한다. 여기서 외부 라이브러리 등을 관리할 수 있다.
도메인을 눌러서 들어가는 첫 화면을 웰컴페이지라 한다. 웰컴페이지를 만들어보자.
src/main/resources/static/index.html에 html을 저장하면 스프링 부트가 웰컴페이지로 만들어 준다. 이런 웰컴페이지 같은 기능을 스프링 부트에서 굉장히 많이 지원하므로 spring.io의 공식 문서에서 index.html을 검색하는 등 잘 찾아보자!
정적 페이지를 thymeleaf를 이용하면 쉽게 동적 페이지로 만들 수 있다. HelloController 클래스를 만들어서 사용해보자. 컨트롤러는 컨트롤러 패키지에 묶어서 관리하는게 좋다!
package hello.hellospring.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 "hi";
}
}
getMapping("hello")
HTTP GET 요청이 hello로 들어오는경우 아래의 메서드 hello 실행
return "hi"
main\\resources\\templates\\hi.html
을 찾아서 렌더링, 즉 hi.html을 응답하라는 뜻