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을 어렵지 않게 개발할수있다.
'Java > SPRING' 카테고리의 다른 글
스프링 프레임워크 [Spring Framework] MVC 컨트롤러(Controller) 메서드의 파라미터 타입 (0) | 2021.12.22 |
---|---|
스프링 프레임워크 [Spring Framework] MVC 커맨드(Command) 객체로 List 받기 (0) | 2021.12.22 |
스프링 프레임워크 [SPRING Framework] MVC 메서드 HTTP 전송 방식. (0) | 2021.12.21 |
자바[SPRING] MVC패턴 Hello.do 기본기 (0) | 2021.12.21 |
스프링 프레임워크 [Spring Framework] MVC 흐름 및 구성 요소 (0) | 2021.12.21 |