쏭의 개발 블로그

[Spring] Spring이란? 본문

Back-end/Spring

[Spring] Spring이란?

songu1 2023. 2. 7. 17:17

1) 프레임워크란?

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

프레임워크와 라이브러리의 차이

어플리케이션의 흐름을 누가 쥐고 있느냐
https://steady-coding.tistory.com/457

프레임워크

  • 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 작성
  • 틀 안에 이미 제어 흐름에 대한 주도성이 있음

라이브러리

  • 사용자가 전체적인 흐름을 만듦
  • 라이브러리를 사용하고 호출하는 측에 주도성이 있음

 

2)스프링 프레임워크

  • 자바엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리테이션 프레임워크

특징

  1. 경량 컨테이너로서 자바 객체를 직접 관리
  2. Spring은 POJO(Plain Old Java Obect) 방식의 프레임워크
    • POJO : 아무것도 붙이지 않은 자바 객체
  3. IoC(Invesion of Control)를 지원
    • Spring이 컨트롤권을 가지고 있어서 필요에 따라 Spring에서 사용자 코드를 호출
  4. DI(Depedency Injection를 지원
    • 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가서로 연결시켜줌
  5. AOP(Aspect-Oriented Programming)을 지원
    • 트랜잭션, 로킹, 보안처럼 여러 보듈에서 공통적으로 사용된 기능을 분리하여 관히
  6. 영속성과 관련된 다양한 서비스 지원
    • iBatis, Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공
  7. 확장성이 높음
    • 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