본문 바로가기

개발/Spring&JPA

[스프링] 스프링 프레임워크란, 기본 개념 정리

 


◎ 프레임워크(Framework)란


  • 사전적 의미는 '어떤 것을 구성하는 구조 또는 뼈대'
  • 소프트웨어적 의미로는 '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품'

 

프레임워크의 장점

  • 일정한 기준에 따라 개발이 이루어지므로 개발 생산성과 품질이 보장된 애플리케이션을 개발할 수 있음
  • 개발 후 유지보수 및 기능의 확장성에서도 고품질 보장

 

 스프링 프레임워크


1) 스프링 프레임워크(이하 스프링)는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임 워크

2) EJB(Enterprise Java Bean)보다 가벼운 경량 프레임워크(lightWeight Framework)

 

컨테이너(Container)란?

* 톰캣은 서블릿 컨테이너라고 부르는데, 그 이유는 톰캣을 실행하면 톰캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리
* 스프링은 애플리케이션에서 사용되는 여러 가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리

 

1. 스프링의 특징

출처: 자바웹을 다루는 기술

  • EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능을 수행
  • 제어 역행(IoC, Inversion of Control) 기술을 이용해 애플리케이션 간의 느슨한 결합을 제어
  • 의존성 주입(DI, Dependency, Injection) 기능을 지원
  • 관점 지향( AOP, Aspect-Oriented  Programming) 기능을 이용해 자원 관리
  • 영속성과 관련된 다양한 서비스를 지원
  • 수많은 라이브러리와의 연동 기능을 지원
용어 정리
1. 의존성 주입 : 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법
2. 제어 역행 : 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법
3. 관점 지향 : 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법

 

2. 스프링의 주요 기능

출처: 자바웹을 다루는 기술

 

반응형