Spring Framework

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을 어렵지 않게 개발할수있다.

from http://workerst.tistory.com/53 by ccl(A) rewrite - 2021-12-21 21:01:08