728x90
스프링의 장점
경량 프레임 워크
- 스프링은 여러 개의 모듈로 구성되어 있으며, 각 모듈은 하나 이상의 JAR 파일로 구성됨. 몇 개의 JAR 파일만 있으면 개발과 실행이 가능하다.
POJO 기반의 구성
- 스프링 프레임워크가 POJO(Plain Old Java Object) 형태의 객체를 관리함
- 개발자가 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않음을 의미한다. Java 코드를 이용해서 객체를 구성하는 방식 그대로 스프링에서 사용할 수 있다.
- 덕분에 자유롭게 객체지향적 설계를 구현할 수 있다. 개발자는 가장 일반적인 형태로 코드를 작성하고 실행할 수 있다. 때문에 높은 생산성과 유연한 테스트를 할 수 있다는 장점을 가지게 된다.
Java의 객체지향적인 특징을 살려 비즈니스 로직에 충실한 개발이 가능하도록 하는 것
의존성 주입(DI)을 통한 객체 간의 관계 구성
Spring에서는 ApplicationContext가 필요한 객체들을 생성하고, 주입하는 역할을 해준다.
따라서 기존의 프로그래밍과 달리 객체와 객체를 분리해서 생성하고, 이러한 객체들을 엮는(wiring) 작업의 형태로 개발할 수 있다.
의존성 주입은 제어의 역전이 일어나는 것을 전제로 스프링 내부의 객체들 간의 관계를 관리할 때 사용한다. 의존성 주입은 특정 개체에 필요한 객체를 외부에서 결정하여 연결시키는 것을 말한다. 자바에서는 인터페이스를 사용하려 의존적인 관계를 처리한다.
AOP(Aspect-Oriented-Programming) 지원
AOP를 통해 반복적인 코드를 줄이고 개발자가 핵심 비즈니스 로직에만 집중할 수 있도록 지원한다.
그 외
이것들 이외에도 편리한 MVC 구조, WAS에 종속적이지 않은 개발 환경, 트랜잭션 관리 용이, 단위 테스트 JUnit 지원 등의 장점이 있다.
728x90