쏭의 개발 블로그
[Spring] Spring이란? 본문
1) 프레임워크란?
- 뼈대나 기반 구조
- 소프트웨어의 특정 문제를 해결하기 위해서 상호협력하는 클래스와 인터페이스의 집합
- 라이브러리
- 단순 활용가능한 도구들의 집합
- 개발자가 만든 클래스에서 호출
- 라이브러리
- 제어의 역전(IoC) 개념이 적용된 대표적인 기술
- 프레임워크 vs 라이브러리
- 프레임워크 : 전체적인 흐름을 스스로가 쥐고있음, 사용자가 그 안에 필요한 코드를 짬
- 라이브러리: 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는것
더보기

https://steady-coding.tistory.com/457
프레임워크와 라이브러리의 차이
어플리케이션의 흐름을 누가 쥐고 있느냐

프레임워크
- 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 작성
- 틀 안에 이미 제어 흐름에 대한 주도성이 있음
라이브러리
- 사용자가 전체적인 흐름을 만듦
- 라이브러리를 사용하고 호출하는 측에 주도성이 있음
2)스프링 프레임워크
- 자바엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리테이션 프레임워크
특징
- 경량 컨테이너로서 자바 객체를 직접 관리
- Spring은 POJO(Plain Old Java Obect) 방식의 프레임워크
- POJO : 아무것도 붙이지 않은 자바 객체
- IoC(Invesion of Control)를 지원
- Spring이 컨트롤권을 가지고 있어서 필요에 따라 Spring에서 사용자 코드를 호출
- DI(Depedency Injection를 지원
- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가서로 연결시켜줌
- AOP(Aspect-Oriented Programming)을 지원
- 트랜잭션, 로킹, 보안처럼 여러 보듈에서 공통적으로 사용된 기능을 분리하여 관히
- 영속성과 관련된 다양한 서비스 지원
- iBatis, Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공
- 확장성이 높음
- Spring에서 통합하기 위해 기존 라이브러리를 간단하게 감싸는 정도로 Spring에서 사용이 가능하기 때문에 수많은 라이브러리가 지원되고, 별도로 분리하기도 용이
'Back-end > Spring' 카테고리의 다른 글
Spring Boot와 Redis 연동 (+연동 시 고민사항) (0) | 2025.04.27 |
---|---|
WebFlux에 대해서 (0) | 2023.11.07 |
DAO, DTO, VO, Domain 차이 (0) | 2023.10.07 |
@Controller와 @RestController 차이 (0) | 2023.10.07 |
Spring AOP (0) | 2023.10.07 |