스프링 프레임워크란 무엇일까?
스프링 프레임워크(영어: 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)이라고 부른다.