본문 바로가기
교육, 학습/멀티캠퍼스_풀 스택

Spring - 스프링 프레임워크 개념

by 개발하는 경제학도 2022. 3. 17.

강의 소개

현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다.

교재로는 자바 웹을 다루는 기술을 사용하고 있습니다.


스프링

자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크이다.

** 프레임워크란

더보기

프레임워크: 기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품을 뜻한다.

일정한 기준에 따라 개발이 이뤄질 수 있어 개발 생산성과 품질을 보장할 수 있다.

 

기존 프레임워크보다 가벼운 경량 프레임워크이다.

경량 컨테이너라고도 부른다.

톰캣이 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리하여 서블릿 컨테이너라고 부르는 것처럼,

스프링은 애플리케이션에서 사용되는 여러 가지 빈(클래스 객체)을 개발자가 아니라 스프링이 직접 관리한다.

 

스프링의 특징

EJB보다 가볍고 배우기 쉽고 경량 컨테이너의 기능을 수행한다.

1. 제어 역행(IoC, Inversion of Control) 기술을 이용해 애플리케이션 간의 느슨한 결합을 제어한다.

더보기

제어 역행: 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법이다.

2. 의존성 주입(DI, Dependency Injection) 기능을 지원한다.

더보기

의존성 주입: 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법이다.

3. 관점 지향 프로그래밍(AOP, Aspect-Oriented Programming) 기능을 이용해 자원 관리를 한다.

더보기

관점 지향: 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법이다.

4. 영속성과 관련된 다양한 서비스를 지원한다.

5. 수많은 라이브러리와의 연동 기능을 지원한다.

 

스프링 프레임워크의 주요 기능

 

Core 스프링의 다른 기능을 수행하는 데 필요한 기반 기능을 제공한다.
다른 기능과 설정을 분리하기 위한 IoC기능을 제공한다.
Context 스프링의 기본 기능으로서 애플리케이션의 각 기능을 하는 빈(Bean)에 대한 접근 방법을 제공한다.
DAO JDBC 기능을 좀 더 편리하게 사용할 수 있도록 한다.
ORM 하이버네이트나 마이바티스 같은 영속성 관련 프레임워크와 연동된 기능을 제공한다.
AOP 관점 지향 기능을 제공한다.
Web 웹 애플리케이션 개발에 필요한 기능을 제공한다.
WebMVC 스프링에서 MVC 구현에 관련된 기능을 제공한다.

스프링 Core는 스프링의 다른 기능을 수행하는데 기반이 되는 기능이며,

스프링 MVC기능은 애플리케이션을 MVC로 쉽게 개발하게 하는 기능이다.

 

 

댓글