start.spring.io 사이트에 들어가 spring boot 기반의 프로젝트를 생성하였다.
gradle 기반의 프로젝트를 생성하였는데 Maven과 Gradle은 필요한 라이브러리를 땡겨오고 빌드하는 라이프 사이클까지 관리해주는 툴이라고 보면 된다.
기본 메인 클래스를 실행해보니 정상적으로 동작은 되지만
이러한 오류가 발생했다. 구글을 통해 검색해보니, 해당 경고는 JDK13에서 -Xverify:none과 -noverify 옵션이 제거되면서 발생하는 오류라고 한다.
나의 경우는 JDK11 버전으로 바꾸니 해결되었지만 Run/debug configurations에서 아래와 같이 체크를 해제해도 된다고 한다.
간단한 동작을 해보기 위해 controller와 thymeleaf로 웰컴 페이지를 만들어 보았다.
🌱
@Controller : 컨트롤러 어노테이션
@GetMapping("hello") : 웹 어플리케이션에서 /hello라고 들어오면 해당 메서드를 호출해준다.
🌱
${data} : model attribute에서 key로 넣었던 data가 hello!!로 치환된다.
동작하는 과정은 다음 그림과 같다. 먼저, 웹 브라우저에서 localhost:8080/hello를 입력하고 엔터를 치면 스프링 부트에 내장된 톰켓 서버가 받는다. 그리고 스프링 컨테이너에서 /hello를 찾고 해당 mapping이 있다면 메소드를 실행시킨다. model에 "hello"를 넣어놓고 hello를 리턴한다. 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리한다. 그래서 해당 경로에 존재하는 웰컴 페이지가 반환되는 것이다.