본문 바로가기

Development/Web & Server

[Spring framework] 스프링의 특징

1. 스프링은 경량 컨테이너 이다.

스프링은 자바 객체를 담고 있는 컨테이너이다. 객체의 소멸과 같은 라이프 사이클을 관리 및 사용을 할 할 수 있다.


2. DI패턴을 지원한다.

설정 파일을 통해서 객체간의 의존 관계를 설정할 수 있어서 직접 생성 또는 검색을 할 필요가 없다.


3. AOP를 지원

트랜잭션이나 로깅 보안과 같이 여러 모듈에서 공통적으로 필요하지만 반복적인 기능을 분리해서 각 모듈에 적용이 가능하다.


4. POJO를 지원한다.

특정한 인터페이스 또는 클래스를 상속받지 않고 순수 자바객체를 스프링에서 사용할 수 있다.


5. 트랜잭션 처리를 위한 일관된 방법을 제공한다.

설정 파일을 통해 트랜잭션 관련 정보를 입력하기 때문에 트랜잭션 구현에 상관없이 동일한 코드를 여러 환경에서 사용할 수 있다.


6. 영속성과 관련된 다양한 API를 제공한다.

JDBC를 비롯하여 iBatis, 하이버네이트등 데이터베이스 처리와 관련하여 널리 사용되는 라이브러리와의 연동을 지원하고 있다.


7. 다양한 API 연동을 지원

엔터프라이즈 어플리케이션을 개발하는데 필요한 다양한 API를 설정 파일을 통해서 손쉽게 사용할수 있도록 하고 있다. (DI패턴? 혹은 메이븐 연동 사용?을 말하는 듯하다.)


8. 자체적으로 MVC 프레임워크를 제공한다.

스프링을 통해 개발을 하면 MVC기반의 웹어플리케이션을 어렵지않게 개발 가능??