Spring Framework와 STS(Spring Tool Suite) 간략 정리

여상우·2022년 6월 28일
1

SpringBoot

목록 보기
1/3
post-thumbnail

Java와 DB를 다루며 Spring도 사용하게 되었는데.. 도대체 Spring이 무엇인지에 대해서는 잘 알기가 어려워서 정리를 어느정도 해놔야겠다는 생각이 들었다☺️


라이브러리와 프레임워크의 차이는 무엇인가?

Spring Framework에 대해서 검색해보니 '프레임 워크중 가장 많이 사용되고 있고 자바 웹 애플리케이션 개발을 위한 오픈소스 프레임 워크로 기존 프레임 워크보다 가벼운 경량 프레임 워크'

라고 정의를 하던데 솔직히 이렇게 말하면 어떻게 알아듣나..🤣 그냥 내가 따로 머릿속에 그려보기 위해 라이브러리프레임워크의 차이부터 정리해보았다.

  • 라이브러리는 도구 라고 생각이 된다.
    이미 IDE나 언어 수준에서 미리 정의되어 내가 만든 클래스에서 호출하여 사용하는 방식의 유용한 도구이다.
  • 프레임워크는 라인이 갖추어진 공장 이라고 생각된다.
    해당 라인에 걸맞는 방식의 프로그램을 더 빠르고 강력하게 구축할 수 있지만, 하나의 시스템이 이미 구축되어 있기 때문에 완전히 다른 용도로 사용하기에는 적합하지 않다.

또 다른 특징으로는 '누가 주도권을 쥐고 있냐'의 차이가 있다고도 한다.

라이브러리는 사람이 주도권을 가지고 코드에서 해당 라이브러리를 호출해서 사용하는데 반해 프레임워크는 사용하면 프레임워크가 우리의 코드를 호출해서 원하는 목적을 달성하도록 도와준다. (뭐 그렇다고 기계의 반란은 아니니까 걱정말자🤗)


Spring Framework

'Java Web Application 개발을 위한 경량 프레임워크'로 결국에는 Java를 이용해 Web을 개발하기 위한 도구라는 이야기가 된다.

또한 Spring Framework가 기능이 많은만큼 복잡한 환경설정을 가지고 있기 때문에 많은 설정부분을 자동화하여 사용자가 편하게 Spring을 이용할 수 있도록 도와주는 것이 SpringBoot라고 한다.

그럼 STS(Spring Tool Suite) 는 또 뭐지?😅

보통 Java 쓰는 사람이면 요즘에 intelliJ를 많이 쓴다고는 하지만, 그래도 대부분 Eclipse는 접해보았을 것이다. Eclipse를 많이 사용해 본 사람들에게 유용한 것이 바로 STS!
STS(Spring Tool Suite)는 스프링 개발에 최적화된 이클립스에 가깝다.
이클립스 베이스에 Spring Framwork plugin이 자동으로 추가된 버전이라고 생각하면 된다고 하는데~
(Maven과 이클립스의 Maven 플러그인인 m2Eclipse가 포함된 통합 개발환경)


STS(Spring Tool Suite) 설정하기

STS를 처음 열어 내부 UI를 보면 매우 친숙한 느낌이 든다...🤔 이게 기분탓이 아니라 진짜 Eclipse랑 거의 똑같은 UI이기 때문이다.
메뉴, 파일 탐색구조, 상세 설정까지... 따라서 평소에 우리가 Eclipse를 사용하듯 하면 문제없이 구동이 가능하다.

그럼 먼저 '기초 설정'을 시도해보자

New를 눌러 바로 Java Project를 만들어도 되지만, Spring Starter Project를 사용하면 기초적인 STS 설정이 적용된 Project가 만들어진다.

그리고 Project를 구성해주면 되는데 다른 부분은 크게 중요하지 않고, Type(Maven), Packaging(War), Java Version(나는 17버전으로 했다)만 신경써서 보면 될 것이다.

그 중에서도 기존에 Eclipse에서 사용하던 JRE 버전과 동일한 버전의 Java Version을 사용하는 것이 기존의 Project를 문제없이 사용하는데 도움이 되리라 생각하며, War를 이용하면 STS 내장 Server를 사용할 수 있다고 한다. War 대신 일반 Jar도 선택할 수 있는데 그러면 Local에서만 사용이 되려나...??😳

다음으로 진행하면 위와 같은 화면이 나온다. 나는 Web과 SpringBoot, 그리고 JPA를 사용 할 것이기 때문에 이 3가지를 선택했다.

(JPA는 DB를 다룰 때 사용되는 기존의 SQL문 대신 사용되는 언어라고 하며, 이를 Spring에서 사용하면 Data JPA라고 한단다..)

이렇게 설정을 마치면 만들어지는 패키지의 형태는 다음과 같다.

뭐 사실 이렇게 적어놓더라도 기존의 Eclipse Web Server에서 사용하던 것과 유사하기 때문에 크게 헷갈리지는 않을 것이다.

또한 resources 하위의 application.properties 파일에서는 STS 설정을 해 줄 수 있는데, 위 사진과 같이 port를 지정하거나 prefix(URI의 앞부분에 들어갈 내용), suffix(URI의 뒷부분에 들어갈 내용)등의 내용을 입력함으로써 설정값을 바꾸어 줄 수 있다. 8080 포트를 너무 많이 써서 겹치면 바꿔줄 때도 필요하다

STS의 가장 큰 강점이라면 따로 서버를 설치해 줄 필요 없이 내장된 서버를 구동하여 테스트 해 볼 수 있다는 점이다.
위 사진처럼 Run As - Spring Boot App으로 실행해주면 바로 서버가 실행이 되고 브라우저에서도 해당 포트(여기서는 8080)로 진입하면 작성한 웹페이지를 확인 할 수 있다!🤗


일단 내가 Spring을 어디까지 공부할지는 모르겠지만, 사실 이미 이전에 Eclipse 서버를 다 연결해놓았기 때문에 STS를 사용함으로서 크게 달라지는 부분을 아직까지 느끼지는 못했다.. 그래도 이렇게 정리해놓으면 나중에 사용할 때 도움이 되리라 생각하며..🙏

profile
Keep forwarding person.

0개의 댓글