Spring이란?

개발자·2022년 4월 16일
0

Spring

목록 보기
13/18
post-thumbnail

스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 프레임워크이다. 애플리케이션 개발을 빠르고 효율적으로 할 수 있도록 바탕이되는 틀, 공통 프로그래밍 모델, 기술 API 등을 제공해준다.

기본 틀 - Application Context

스프링은 스프링 컨테이너 또는 Application Context라고 불리는 스프링 런타임 엔진을 제공한다. 스프링 컨테이너는 설정정보를 바탕으로 애플리케이션을 구성하는 빈을 생성하고 관리한다. 스프링 컨테이너는 독립적으로 동작할 수도 있지만 웹 모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용한다.

공통 프로그래밍 모델

애플리케이션을 구성하는 빈이 생성되고 동작되는 방식에 대한 틀을 제공해주고, 코드가 어떻게 작성되어야 하는지 기준을 제시해주는 틀을 프로그래밍 모델이라고 한다. 스프링은 3가지 핵심 프로그래밍 모델을 제공한다.

  • IoC/DI
  • 서비스 추상화
  • AOP

기술 API

스프링은 애플리케이션을 다양한 영역에 활용할 수 있는 방대한 양의 기술 API를 제공한다. UI 작성뿐만 아니라 각 계층에서 필요한 주요 기술을 스프링에서 일관된 방식으로 사용할 수 있도록 지원해주는 기능과 전략 클래스를 제공한다. 스프링의 모든 기술은 표준 자바 엔터프라이즈 플랫폼에 기반을 두고 있다.

✏️ 스프링을 사용한다는 것은 이 세가지 요소를 활용해 애플리케이션을 개발한다는 뜻이다. 클래스는 스프링 컨테이너 위에서 빈으로 만들어져 동작하고, 코드는 프로그래밍 모델을 따라 작성하고, 엔터프라이즈 기술을 사용할 때는 스프링이 제공하는 API와 서비스를 활용하도록 하면 된다.


Ref.

토비의 스프링 3.1

profile
log.info("공부 기록 블로9")

0개의 댓글