📍 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)를 모듈화하는 개념
결과: 중복 코드를 줄이고 코드의 가독성과 유지보수성을 향상
'Framework > SPRING' 카테고리의 다른 글
[SPRING 이론] [04] 인스턴스화 / 어노테이션 (0) | 2024.03.04 |
---|---|
[SPRING 이론] [03] 의존성(의존관계) / 의존주입 (0) | 2024.03.04 |
[SPRING 이론] [02] 컨테이너 (0) | 2024.02.29 |
[SPRING 이론] [01] 프레임워크 (0) | 2024.02.28 |