스프링부트 프로젝트를 구성하고 툴도 셋팅해 보자.
드뎌 환경 구축 편이다. 어떻게 하면 환경을 구축을 빠르게 할 수 있을지에 대해서 말해야 하는데 총 3가지 방법에 대해서 난 공유해 보고 싶다.
첫째. spring.start.io 사이트에서 구성하는 방법
둘째. spring cli를 설치해서 구성하는 방법
셋째. ide에서 template를 이용해서 구성하는 방법
구성 방식은 본인의 취향에 따라 구성하면 되는데 나는 세번째 케이스로 구성을 해볼 것이다.
일단 스프링은 자바, 코틀린으로 개발을 할 수 있는데 모던한 언어인 코틀린으로 구성을 해볼 것이다.
코틀린을 선택 하고 다음으로는 코어 패키지를 선택해야 하는데 우리는 리액티브 하게 개발할 것이니 webflux를 선택한다. 당근 spring-data-jpa를 선택할 것이고, thymeleaf를 선택, 스프링시큐리티를 선택 등등 필요한 의존성 패키즈를 선택 하고 다음으로 넘긴 다음 적당한 저장소 이름을 정하고 finish 한다.
다시한번 이 난잡한 글을 구조적으로 정리해 보자.
1. spring-webflux
2. spring-data-jpa
3. thymeleaf
4. spring-security
5. h2, mysql
6. gradle
지금 선택한 것들은 모두 starter 들로서 관련된 모듈 모음이라고 보면 될것같다. 스타터를 선택하면 알아서 의존성이 있는 라이브러리나 클래스를 끌어다가 연결해 준다. 그래서 매우 편하다. 스프링부트를 사용하는 이유도 복잡한 설정이나 어려운 구성을 자동으로 구성해서 쓰기 위해서 사용하는데 이유가 있기도 하다. 구지 스프링5 같은것으로 프로젝트를 구성해서 xml 방식으로 빈을 만들고 설정 하면서 시간을 낭비하는 것을 별로 선호하지 않기 때문에 난 스프링부트로 구성하는 것을 좋아한다.
다음으로는 프로젝트가 구성되었으니 그레들 빌드를 통해서 프로젝트에 필요한 의존성 패키지를 다운로드 받는다. 다운을 다 받으면 엉성했던 글자들이 화려한 컬러와 지적사항처럼 나왔던 빨간줄들이 사라질 것이다. 그리고 빌드를 통해서 제대로 프로젝트가 오류 없이 실행이 되는지 확인해 본다. 만약 이 단계까지 성공 했다면 당신은 이미 스프링부트 프로젝트에 반 이상을 완성한 것이니 이제 쉬어도 좋다.
빌드까지 성공한 사람들은 이제 간단하게 브라우저에서 localhost:8080 을 입력해서 해당 사이트가 나오는지 확인해 보라. 잘 나오지 않을 것이다. 우리는 아직 페이지를 만들지 않았기 때문이다. 페이지를 표시하기 위해서는 controller 또는 rest-controller를 구성하면 된다. 간단하게 컨트롤러 구성하는 방법은 다음 시간에 하기로 하고 오늘은 여기서 줄일까 한다. 웹 만드는거 진짜 별거 아니지 않던가?