본문 바로가기
공부/springboot

스프링 레거시와 스프링 부트의 차이

by 샤샤샤샤 2023. 10. 19.

스프링은 크게 스프링 레거시와 스프링 부트로 나뉜다.

스프링 레거시는 일반적인 Spring Framework 프로젝트를 말하며, 스프링 부트는 기존의 레거시에서 사용자가 직접 해줘야만 했던 많은 사전 작업들을 미리 설정해두거나, 쉽게 설정할수 있는 프로젝트다.

 

필자는 본래 스프링 부트로 Spring Framework를 학습했으나 이번 기회에 레거시를 사용해볼 기회가 생겨 그 차이를 정리한다.

 

일단 대표적인 차이는 다음과 같다.

 

  레거시 부트
자유도 자유롭게 라이브러리 설정 가능. 대신 손이 많이 감 프로젝트 구성 단계에서 범용적인 라이브러리 선택 가능.
외부 라이브러리를 추가할시 사용자가 gradle이나 maven, 또는 직접 추가해줘야하는 작업 필요. 
서버 따로 tomcat 같은 웹 어플리케이션 서버를 설치하여 직접 스프링에 추가해줘야 함.
이후로도 직접 관리 필요.
이미 스프링에 tomcat이 내장되어 있어 따로 서버를 설치하지 않아도 됨.
설정 별도의 xml 파일로 프로젝트 설정을 관리. 기본적으로 JAVA configuration을 사용함.
빈 등록 servelet-context.xml 이란 파일 내부에서 component-scan 이 감시할 범위를 지정한다. {프로젝트명}Application.java 파일에 어노테이션이 설정되어 있어 알아서 하위 파일들의 빈 설정을 감시함.

 

필자는 본래 IDE 역시 인텔리제이를 사용하다 이번 기회에 이클립스를 처음 사용해보았다.

사용한 스프링의 버전도 현제 널리 사용되는 일반적인 버전보다 아득히 낮고( 회사 사정이다) 이에 따라 이클립스 버전도 낮은 탓에 자세하게 설정하는 방법은 기입하지 않겠다.

 

다만 분명한 것은 스프링 부트가 훨씬 쓰기 편하며 레거시는 환경설정에서부터 어마어마한 시간이 소요된다는 것이다.

코드를 짜는 것보다 환경설정이 더 어려운것 같다.