Programming/JPA ⁄Spring

STS 로 Spring Boot 프로젝트 만들기. 1) STS설치 및 프로젝트 생성

📝 작성 : 2021.07.09  ⏱ 수정 : 
반응형

STS 로 Spring Boot 프로젝트 만들기. 1) STS설치 및 프로젝트 생성

참고서적 : [길벗] 스프링부트 프로그래밍 입문 - 쇼다 츠야노


아래 페이지에서 본인에게 맞는 STS 를 다운 받습니다. 저는 Eclipse용 STS4를 다운 받도록 하겠습니다.

https://spring.io/tools

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

 

macOS X 를 사용 하고 있기 때문에 mac 용으로 다운 받았습니다.

아시다시피 Eclipse는 java 기반으로 jvm 을 통해 돌아가기 때문에 운영체제가 바뀐다고 해도 프로그램이 제법 유연합니다.

본인에게 맞는 운영체제용으로 다운 받으시면 됩니다.

 

실행 시키면 이클립스 치고는 제법 세련된 로딩 화면이 나옵니다.

workspace만 본인에게 맞게 잘 설정 하시고 나면,

넵. 그냥 영락없는 이클립스가 펼쳐집니다.

 

Create new Spring Starter Project를 클릭합니다. 이 화면을 못찾으신분은 File - new - 에서도

같은 메뉴를 찾으실 수 있습니다.

프로젝트 설정 화면입니다. 

궁금해서 클릭해봤더니 Java 삼형제를 지원하네요.

프로젝트 이름만 변경하고 나머지는 그대로 진행합니다. Description, Package도 변경을 하긴 했는데 크게 중요하진 않습니다.

Next를 누릅니다.

 

이번에는 Dependency를 설정하는 화면 입니다.

Web을 열어 Spring Web만 선택해보겠습니다.

이것저것 클릭해보니 

Developer 툴에 Lombok이 클릭해달라고 기다리고 있었고

SQL쪽에서도 끌리는게 제법 있었구요

그 외에도 Security 쪽의 Spring Security, Oauth2

그리고 Messaging 쪽의 WebSocket등, Template Engines의 Thymeleaf 등 그냥 넘어가기 힘든 체크박스들이 참 많이 보입니다.

하지만 일단 처음 만드는 테스트 프로젝트니 Spring Web만 선택하도록 하겠습니다.

 

Next를 클릭합니다.

이런 화면이 나옵니다. 프로젝트를 다운받기 위한 URL 인데, spring.io를 거쳐서 프로젝트를 만들어 오는 것을 알 수 있습니다. 변경 하지 말고 Finish 버튼을 클릭해 프로젝트를 생성합니다.

STS가 열심히 프로젝트를 import 합니다.

그러고는 뭔가 프로젝트가 생성 되었습니다.

프로젝트를 열어 확인해보니 굉장히 익숙한 구조가 보입니다. Spring Framework 프로젝트를 만들었을때와 다를게 없는데 너무 쉽게 생성할 수 있다는 장점이 와닿습니다.

pom.xml에도 딱 2개의 dependency만 있지만

Hierarchy를 확인 해 보면 웹개발에 필요한 Dependency들이 상당수 , 버전도 일일히 선택 해 줄 필요 없이 알아서 들어 와 있는 것을 확인 할 수 있습니다.

 

이번엔 프로젝트를 실행 해 보도록 하겠습니다.

프로젝트를 선택해서 Spring Boot App 으로 실행하면 됩니다.

실행이 되었습니다.

아직은 준비 된 페이지가 전혀 없기 때문에 404 에러가 발생하지만, 서버는 정상적으로 작동 된 것을 확인 할 수 있습니다.

 

console 에서 이 빨간 네모를 클릭 해서 서버를 종료 해 주시면 됩니다.

기존의 Spring Framework 와는 다르게 서버가 내장 되어 있기 때문에 다릅니다. Server 뷰를 따로 사용하지 않습니다.

tomcat 9 버전이 embeded 되어 있기 때문 입니다. 스프링 부트는 외부 자바 서버를 필요로 하지 않습니다. 따라서 서버에 배포 하는 과정도 필요하지 않습니다. Spring boot를 한번 맛보면 Spring Legacy 프로젝트로 앞으로 돌아가지 못할 것 같습니다.

요즘에 한창 떠오르고 있는 Cloud 서비스 ( AWS, Azure, Google Cloud 등 )  에 배포하기에는 정말 안성 맞춤입니다.

 

이것으로 1편을 마치고 ,  2편에선 RestController를 활용해 페이지를 생성 해 보도록 하겠습니다.

 

 pom.xml에서 parent, 그리고 build plugin으로 들어간 spring-boot-maven-plugin을 유심히 봐주세요. 간략한 dependencies 도 특징입니다.

반응형