스프링 프레임워크[Spring Framework]란

반응형

SPRING Framework란

Enterprise Application에서 필요로 하는 기능을 제공하는 Framework이다.

SPRING는 JEE(Java Enterprise Edition)가 제공하는 다수의 기능을 지원하고, JEE를 대체하는 Framework로 자리잡고있다.

실제로는 SPRING는 JEE가 제공하는 다양한 기능을 제공하는 것 뿐만아니라 DI(Dependency Injection)이나,

AOP(Aspect Oriented Programming)와 같은 기능도 지원하고있다.

OOP(Object Oriented Programming)

SPRING가 제공하는 주요기능과 특징을 정리

  • SPRING는 경량 Container이다.

#스프링에서 경량은 자바로 만든것, 중량은 다른언어로 만든것이므로

즉 SPRING은 Java객체를 담고 있는 Container다.

SPRING Container는 이들 Java 객체의 생성, 소멸과 같은 라이프 사이클을 관리하며,
SPRING Container로부터 필요한 객체를 가져와 사용할 수 있다.

  • SPRING는 DI를 지원한다.

#SPRING은 설정 파일이나 Annotation을 통해서 객체간의 의존관계를 설정할 수 있도록 하고 있다.

따라서, 객체는 의존하고 있는 객체를 직접 생성하거나 검색할 필요가 없다.

  • SPRING는 AOP를 지원한다.

#SPRING은 자체적으로 AOP를 지원하고 있기 때문에 Transaction이나 Logging, Security과 같이 여러

Module에서 공통으로 필요로 하지만 실제 Module의 핵심은 아닌 기능들을 분리해서 각 Module에 적용할 수 있다.

  • SPRING는 POJO를 지원한다.(Plain Old Java Object)

#SPRING Container에 저장되는 Java 객체는 특정한 Interface를 구현하거나 Class를 상속받지 않아도 된다.

따라서, 기존에 작성한 Code를 수정할 필요없이 SPRING에서 사용할 수 있다.

  • SPRING는 Transaction 처리를 위한 일관된 방법을 제공한다.

#JDBC를 사용하든, JTA를 사용하든, 또는 Container가 제공하는 Transaction을 사용하든, 설정파일을

통해 Transaction 관련 정보를 입력하기 때문에, Transaction 구현에 상관없이 동일한 Code를 여러 환경에서 사용할 수 있다.

-SPRING는 영속성(Persistence)와 관련된 다양한 API를 지원한다.

#SPRING은 JDBC를 비롯하여 iBatis, Hibernate, JPA 등 Database 처리를 위해 널리 사용되는

Library와의 연동을 지원하고 있다.

-SPRING은 다양한 API에 대한 연동을 지원한다.

#SPRING은 JMS, Mail, Scheduling 등 Enterprise Application을 개발하는데 필요한 다양한 API를 설정 파일과 Annotation을 통해서 손쉽게 사용할 수 있도록 지원하고 있다.

위 특징과 더불어 SPRING 자체적으로 MVC Framework를 제공하고있다.

따라서 SPRING만 사용해도 web Application을 어렵지 않게 개발할수있다.

반응형