Framework/SPRING

[SPRING 이론] spring / spring boot 특징 요약

오류나면꽥꽥 2025. 1. 16. 14:05

📍 spring과 spring boot 요약

  spring spring boot
사용 자바 기반 웹 어플리케이션 사용 주로 REST API 개발을 위해 사용
개발유형 느슨하게 결합된 어플리케이션 독립 실행형 어플리케이션
주요기능 의존성 주입 AutoConfiguration
내장 웹서버(톰캣 등..) X O
구성 수동으로 구성을 빌드 부트스트랩 가능한 기본 구성
설정 수동 자동
  war파일을 Web Application Server에
담아 배포
내장 WAS를 가지고 있기 때문에
jar 파일로 간편하게 배포
프레임워크 개발을 편리하게 도와주는 프레임워크 스프링을 편리하게 도외주는 프레임워크

 

spring, spring boot 모두 스프링 프레임워크를 기반으로 한 자바 웹 개발 프레임워크

 

 

 

 

 

✅ spring

 

자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 개발 프레임 워크

  • 일반 프레임워크의 경우 과도한 엔지니어링 기술을 탑재하여 무겁고 고가의 WAS를 갖추어야만 동작
  • 스프링 프레임워크는 엔터프라이즈 개발에서 필요로 하는 기술을 포함 (가볍고 단순히 환경에서 사용)

 

 

 

📌 특징

1️⃣ POJO (일반적인 getter, setter 방식) 방식의 프레임워크

 

2️⃣ IoC ( Inversion of Control ) : 제어의 역행

      기존 : 개발자가 코드 내에서 객체를 생성하고 관리하고 제어

        ▼
      객체의 생성과 관리를 개발자가 아닌 프레임워크 또는 컨테이너가 담당

      결과: 객체의 의존성 주입을 통해 컴포넌트들 간의 결합도를 낮추고 유연한 애플리케이션 제작

 

3️⃣ DI ( Dependency Injection ) : 의존성 주입

      의존성 객체를 개발자가 생성하지 않고
         
      클래스를 Bean으로 등록해놓으면
         
       Bean으로 등록된 객체를 프레임워크가 찾아서 알아서 주입해주는 기술

       결과: 모듈간의 결합도를 낮춤

 

4️⃣ AOP ( Aspect Oriented Programming ) : 관점 지향 프로그래밍

      프로그램의 핵심 로직 외에 부가적인 횡단 관심사(Cross-cutting Concerns)를 모듈화하는 개념

      결과: 중복 코드를 줄이고 코드의 가독성과 유지보수성을 향상