코린이의 기술 블로그
스프링 프레임워크의 특징 본문
스프링의 특징은 IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크 라고 표현할 수 있습니다.
1. 경량
스프링은 여러개의 모듈로 구성, 각 모듈은 하나 이상의 JAR 파일로 구성되어 있습니다.
몇개의 JAR 파일만 있어도 개발과 실행이 모두 되고, 배포 역시 빠른 편입니다. Plan Old Java Object (POJO)형태의 객체를 관리하여 POJO클래스를 구현하는데 특별한 규칙이 없는 단순한 객체이므로 EJB 객체를 관리 하는 것 보다는 훨씬 빠릅니다.
2. 제어의 역행(Inversion of Control, IoC)
비즈니스 컴포넌트를 개발 할때 중요한 것은 낮은 결합도와 높은 응집도입니다.
스프링은 제어의 역행을 통해 애플리케이션을 구성하는 객체간의 낮은 결합도를 유지합니다.
하지만 IoC를 통해 자바코드로 직접 처리 하는 것이 아닌 컨테이너가 대신 처리 합니다.
결과적으로 소스에 의존 관계가 명시 안되므로 결합도가 떨어져서 유지보수가 편리해집니다.
3.관점지향 프로그래밍(Aspect Oriented Programming, AOP)
공통으로 사용되는 외부의 독립된 클래스로 분리하고, 직접 명시하지 않고 선언적으로 처리하여 적용하는 것이 관점지향 프로그래밍입니다.
공통 기능을 분리하여 관리가 가능해지므로 응집도가 높은 비즈니스 컴포넌트를 만들고, 유지보수를 혁신적으로 향상할 수 있습니다.
4.컨테이너
특정 객체의 생성과 관리를 담당하여 객체 운용에 필요한 다양한 기능을 제공해줍니다.
일반적으로 서버 안에 포함되어 배포되며 구동이 됩니다.
애플리케이션 운용에 필요한 객체를 생성하고, 객체간의 의존관계를 관리한다는 점에서 스프링도 일종의 컨테이너 입니다.
'Java Web' 카테고리의 다른 글
스프링 컨테이너 (0) | 2021.11.08 |
---|---|
IoC(Inversion of Control) 컨테이너 (0) | 2021.11.07 |
스프링 프레임워크 세팅 (0) | 2021.11.05 |
스프링 프레임워크 (0) | 2021.11.04 |
MVC디자인 패턴 (0) | 2021.11.03 |