스프링은 로드 존슨(Rod Johnson)이 만든 오픈소스 프로그램이다. 로드 존슨은 자신의 Java 개발 경험과 노하우를 기반으로 출판한 책(Expert One one One J2EE Edsign and Development)에 샘플 프레임워크를 만들어 실었다. 이 코드가 차후 스프링이라는 자바 표준 프레임워크로 발전하였다.
스프링(Spring)이란?
스프링은 제어역전을 지원하는 경량의 관점지향 컨테이너 프레임워크다.💥
스프링의 주 목적은 쉽게 자바 엔터프라이즈 에디션(Java EE : Java Enterprise Edition)을 개발하는 것이며, POJO
기반의 프로그래밍 모델이 그것을 가능하게 한다.
POJO (Plain Old Java Object)
란 평범한 자바 객체라는 의미이다. 이 객체를 사용하기 위해서 상속, 인터페이스, 어노테이션등을 적용해야 하는 제약조건이 없는 객체라는 뜻이다.
스프링의 주요 특징
- 경량화 : 스프링 프레임워크는 사이즈와 투명성(자유롭게 가져다 쓸 수 있는) 측면에서 경량 프레임워크다.
- 비침투성: 비침투성이란 도메인 로직 코드가 프레임워크에 의존적이지 않음을 의미한다.
- 제어역전: 스프링 컨테이너는 스프링 빈즈와 그들의 생명주기를 관리한다. 제어역전 컨테이너는 주입을 지원하는 스프링 프레임워크의 핵심 컨테이너이다.
- 의존성 주입: 인스턴스화 작업을 위임해 수행하는 과정이다.
- 관점지향 프로그래밍(AOP : Aspect-oriented Programming) : 메인 프로그램의 비즈니스 로직 기능과 지원 기능을 분리하는 프로그래밍 패러다임이다. 개발자는 추가적인 요구사항을 의식하지 않고 시스템의 핵심 기능 개발에 집중한다.
- JDBC 예외 처리 : 스프링 프레임워크의 JDBC 추상 계층은 계층구조의 예외를 제공해 에러 처리를 단축시킨다. 이것은 스프링이 예외 처리를 위해 필요한 판에 박힌 많은 양의 코드를 줄여주는 데 도움을 주는 방법 중 하나다.
- 스프링 MVC 프레임워크 : 강력하고 유지보수가 용이한 웹 애플리케이션을 개발하도록 도와준다. 스프링 MVC 프레임워크는 제어역전을 사용해 로직 컨트롤러를 분리시킨다.
- 스프링 보안 : 스프링 보안은 스프링 기반 애플리케이션 대다수에서 중요한 부분인 선언적 보안 메커니즘을 제공한다.
마무리 글
어려운 내용들이 많이 보이는데, 앞으로 예제를 다루어보면서 차근차근 풀어가도록 하겠다.
개인적인 공부 내용을 정리하는 것을 목적으로 하고 있습니다.
설명이 부족하거나 틀린 부분은 지적해 주시기 바랍니다. 🐥