스프링 프레임워크(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구현에 관련된 기능을 제공 |
'Spring' 카테고리의 다른 글
Spring 의존성 주입 실습 (0) | 2021.10.26 |
---|---|
Intellij Spring 환경 세팅 (0) | 2021.10.18 |
의존성 주입 (0) | 2021.10.17 |
Spring boot를 사용하여 구글 로그인 연동(OAuth 2.0 사용) (0) | 2020.12.17 |
스프링 시큐리티와 OAuth 2.0 로그인 기능 구현 (0) | 2020.12.17 |