본문 바로가기

Spring

스프링 프레임워크

스프링 프레임워크(Spring FrameWork)

자바 웹 어플리케이션 개발을 위한 오픈 소스 프레임워크, 기존 프레임워크보다 가벼운 경량 프레임워크이다.

또한 스프링은 경량 컨테이너(light Weight Container)라고 부른다.

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

스프링 이전에 사용되던 프레임워크로 EJV(Enterprise JavaBeans)라는 것이 있는데 EJB는 실행 시 무거워 여러가지 문제를 일으키는 단점이 있다.

이러한 단점을 개선시켜 나온것이 스프링 프레임워크이다

-스프링 특징-

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

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

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

관점지향(AOP, Aspect-Oriented Programming) 기능을 이용해 자원 관리를 합니다.

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

많은 라이브러리와의 연동 기능을 지원

-의존성 주입이란-

클래스 객체를 개발자가 코드에서 생성하지않고 프레임워크가 생성하여 사용하는 방법

-제어역행이란-

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

-관점지향-

핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법

-스프링 주요기능-

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