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)를 모듈화하는 개념
결과: 중복 코드를 줄이고 코드의 가독성과 유지보수성을 향상