Spring Boot와 Spring Legacy

이건우·2025년 2월 23일

웹 프로그래밍

목록 보기
2/43

Spring 프레임워크는 Java 기반 웹 애플리케이션을 개발하기 위한 강력한 프레임워크로,
Spring Boot와 Spring Legacy(Spring MVC) 두 가지 방식으로 나누어서 볼 수 있다.

1. Spring Boot

Spring Boot는 Spring 프레임워크를 기반으로 하면서도 설정(Configuration)을 최소화하고 빠르게 개발할 수 있도록 도와주는 프레임워크이다.

Spring Boot의 특징

  • 별도의 XML 설정 없이 간편한 설정 (application.properties 또는 application.yml 사용)
  • 내장 웹 서버 지원 (Tomcat, Jetty, Undertow 등) → 따로 WAS를 설정하지 않아도 실행 가능
  • Spring의 다양한 기능을 자동 설정(Auto Configuration)으로 제공
  • Microservice 아키텍처에 적합

Spring Boot의 주요 구성 요소

  • Spring Boot Starter : 필요한 라이브러리를 쉽게 추가할 수 있는 의존성 관리 기능
  • Spring Boot Auto Configuration : 개발자가 별도로 설정하지 않아도 기본적인 설정을 자동으로 수행
  • Spring Boot Actuator : 애플리케이션의 상태 모니터링 및 관리 기능 제공

Spring Boot의 동작 방식

  1. @SpringBootApplication을 사용하여 애플리케이션을 실행
  2. Spring Boot Starter를 통해 필요한 라이브러리를 자동으로 가져옴
  3. 내장 웹 서버가 자동 실행되며, API 요청을 받아 처리
  4. Controller에서 요청을 받아 Service를 통해 비즈니스 로직 처리 후 Repository를 통해 DB연동

2. Spring Legacy (Spring MVC)

Spring Legacy(Spring MVC)는 XML 또는 Java Config 기반의 설정을 통해 웹 애플리케이션을 개발하는 방식이다. 주로 대규모 프로젝트에서 사용되며, JSP와 함께 쓰이는 경우가 많다.

Spring Legacy의 특징

  • XML 기반 설정이 많다. (Java Config 방식도 가능하기는 함)
  • Spring Boot보다 설정이 복잡하다.
  • Servlet 기반의 웹 애플리케이션 개발에 최적화 되어있다.
  • 기존 레거시 시스템 유지보수에 유리하다.

Spring Legacy의 주요 구성 요소

  • DispatcherServlet : 클라이언트의 요청을 컨트롤러로 전달
  • Controller : 사용자의 요청을 처리하고 데이터를 반환
  • ViewResolver : 응답을 JSP 또는 다른 뷰 템플릿으로 변환
  • Service & Repository : 비즈니스 로직 수행과 데이터 처리

Spring Legacy의 동작 방식

  1. 사용자가 요청을 보냄 ex) http://localhost:8080/{project_name}
  2. DispatcherServlet이 요청을 받아 컨트롤러로 전달
  3. 컨트롤러는 서비스 및 DAO를 호출하여 데이터 처리
  4. 결과 데이터를 ModelAndView로 반환하여 JSP 뷰를 렌더링

덧붙이며...

개발하기에는 SpringBoot를 사용하는 편이 월등하게 편리하고,
보안적으로 보았을 경우에도 더 나아 보이지만,

기존 코드를 사용해서 홈페이지 제작을 찍어내는 경우와,
전자정부 표준 프레임워크를 사용해야 하는 경우의 편리함 때문에
2025년 기준 한국에서는 아직 Legacy 버전을 사용하는 곳이 많다.

결론 : SI 업체나 전자정부 표준 프레임워크를 사용하는 회사에도 관심이 있는 경우에는
Legacy 버전과 JSP를 사용 할 줄 알아야 한다.

profile
새싹개발자

0개의 댓글