본문 바로가기

IT/SPRING

[Spring] Spring프레임워크란?

스프링 프레임워크란 무엇일까?

스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.

 

 

스프링 프레임워크는 주요 특징

- DI(Dependency Injection),

의존성 주입을 지원한다.

 

- POJO(Plain Old Java Object),

일반적 J2EE 프레임워크와 달리, 특정 인터페이스 구현이나, 상속받을 필요가 없어

기존에 존재하는 라이브러리 등을 지원하기 용이하고 객체가 가볍다.

 

-IoC(Inversion of Control) 제어반전,

 컨트롤 제어권이 사용자가 아니라, 프레임워크에 있어 사용자는 필요에 따라 스프링에서 사용자 코드를 호출한다.

 

-AOP(Aspect-Oriented Programming) 관점 지향 프로그래밍

트랜잭션이나 로깅, 보안 같은 여러 모듈에서 공통 사용하는 기능의 경우

해당 기능을 분리하여 관리할 수 있다.

 

-기타

스프링은 확장성이 높다. 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로

스프링에서 사용 가능하므로, 수많은 라이브러리가 스프링에서 지원되고 있다.

 

 

스프링 프레임워크 모듈 5가지

spring-core 스프링의 핵심인 DI(Dependency Injection) IoC(Inversion of Control)을 제공한다.

spring-aop AOP 구현 기능을 제공한다.

spring-jdbc 데이터베이스를 쉽게 다룰 수 있는 기능을 제공한다

spring-tx 스프링에서 제공하는 트랜잭션 관련 기능을 제공한다

spring-webmvc, 스프링에서 제공하는 컨트롤러와 뷰를 이용한 스프링 MVC 구현기능을 제공한다.

 

스프링 컨테이너 IoC

스프링에서 객체를 생성, 조립 등 스프링을 담당하는 컨테이너이다.

컨테이너를 통해 실행되는 객체를 빈(Bean)이라고 부른다.