Java

[Java] Spring과 Spring boot

K.Seungmin 2024. 9. 18. 15:54

자바 공부를 시작하면서 Spring boot에 대해 알아보던 중 SpringSpring boot의 차이점이 궁금해서 정보를 찾아보며 이 글을 작성하게 되었습니다. 이 글에서 두 프레임워크의 특징 및 주요 차이점에 대해 이야기해 보겠습니다. 먼저 Spring은 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 주로 엔터프라이즈 애플리케이션 개발에 사용됩니다. Spring에는 다양한 모듈이 있어서 개발자가 필요한 기능만 선택해서 사용할 수 있는 유연성을 제공합니다. 반면, Spring boot는 Spring 프레임워크를 기반으로 하여, 설정을 최소화하고 기본값을 제공하여 더 빠르고 간편하게 애플리 케이션을 개발할 수 있게 도와주는 도구입니다.

 

Spring의 특징

Spring의 가장 큰 특징 중 하나는 의존성 주입(Dependency Injection)입니다. 이를 통해 객체 간의 의존성을 관리하고, 코드의 결합도를 낮출 수 있습니다. 또한, Spring은 AOP(Aspect-Oriented Programming)를 지원하여, 공통적인 기능을 모듈화 할 수 있습니다. 이 외에도 Spring은 트랜잭션 관리, MVC(Model-View-Controller) 패턴 지원, 다양한 데이터베이스 연동 기능 등을 제공합니다.

AOP(Aspect-Oriented Programming) : 관점 지향 프로그래밍, 애플리케이션의 핵심 비즈니스 로직과 공통 관심사를 분리해서 중복을 줄이고 유지보수를 용이하게 만들어줍니다.

 

Spring boot의 특징

Spring boot는 Spring의 복잡한 설정을 간소화해서, 개발자가 더 빠르게 애플리케이션을 개발할 수 있게 도와줍니다. Spring boot는 다음과 같은 특징을 가지고 있습니다.

  1. 자동 설정 : 애플리케이션의 설정을 자동으로 구성해 주어, 설정이 간편합니다.
  2. 의존성 : 다양한 스타터 의존성을 제공해서 여러가지 라이브러리를 쉽게 추가할 수 있습니다.
  3. 내장 서버 : Tomcat, Jetty와 같은 내장서버를 제공해서 애플리케이션을 쉽게 실행할 수 있습니다.
  4. 프로덕션 : 애플리케이션 모니터링 및 관리 기능을 제공하여, 프로덕션 환경에서도 안정적으로 운영할 수 있게 해 줍니다.

 

Spring과 Spring boot의 차이점

가장 큰 차이점은 편의성입니다. Spring Boot는 Spring과 달리 기본 설정을 최소화하여 개발자가 빠르게 개발을 시작할 수 있도록 돕습니다. 또한, 내장 서버를 제공해 별도의 서버 설정 없이 애플리케이션을 바로 실행할 수 있습니다. 그리고 스타터 의존성을 통해 필요한 라이브러리들을 쉽게 추가할 수 있다는 장점도 있습니다.