본문 바로가기

개발/Spring

스프링 프레임워크란?

728x90
반응형
스프링 프레임워크(Spring Framework)

 

애플리케이션 개발 시 일반적인 웹 애플리케이션에서 많이 사용하는 기능은 미리 만들어서 제공하고 그 외에 필요한 부분만 추가 및 수정하는 것입니다.
이렇게 하면 훨씬 효율적일 뿐만 아니라 일정한 형식에 따라 개발을 진행하므로 표준화가 이루어져 생산성도 높일 수 있습니다.

프레임워크(Framework)의 사전적 의미는 "어떤 것을 구성하는 구조 또는 뼈대" 입니다.
소프트웨어적 의미로는 "기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품" 으로 해석할 수 있습니다.

현실에서 예를 들어본다면 자동차를 예를 들었을 때 자동차 타이어가 펑크나거나 기타 부품들이 고장나면 자동체 전체를 바꾸는 것이 아니라 타이어나 고장난 부품만 갈아끼우면 되는 형태가 되겠죠?

스프링 프레임워크는 현재 가장 많이 사용되는 프레임워크 중 하나 로 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크입니다.
스프링은 애플리케이션에서 사용되는 여러가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리합니다.

 


스프링의 특징

- 제어 역행(IoC, Inversion of Control) 기술을 이용해 애플리케이션 간의 느슨한 결합을 제어합니다.
- 의존성 주입(DI, Dependency Injection) 기능을 지원합니다.
- 관점 지향(AOP, Aspect-Oriented Programming) 기능을 이용해 자원 관리를 합니다.
- 영속성과 관련된 다양한 서비스를 지원합니다.
- 수많은 라이브러리와의 연동 기능을 지원합니다.

의존성 주입 : 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법입니다.
제어 역행 : 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법입니다.
관점 지향 : 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법입니다.

 

 

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

 

 

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

 

 

여기까지 임미다.

728x90