Spring Framework 란?
Spring Framework은 자바 애플리케이션을 개발하기 위한 오픈소스 애플리케이션 프레임워크
Spring Framework 의 주요 특징
- POJO(Plain Old Java Object)
- 특정 기술이나 환경에 종속되지 않는 순수 자바 스펙으로 이루어진 자바 객체를 사용
- 자바객체는 객체 지향 설계원칙에 따라 만들어지며, 이를 통해 유연하고 확장 가능한 애플리케이션을 개발
- IoC/DI(Inversion of Control / Dependency Injection)
- IoC 는 제어 역전으로, 개발자가 객체의 생명주기 관리를 직접하지 않고 스프링 컨테이너가 담당하는것
- DI 는 객체가 필요로 하는 의존성을 외부에서 주입받아 사용하는것
- IoC/DI를 통해 객체 간의 결합도를 낮추고 유지보수와 확장이 용이한 애플리케이션을 개발
- AOP(Aspect-Oriented Programming)
- 애플리케이션의 여러 부분에서 발생하는 공통 관심사를 모듈화하고 재사용 가능한 관점으로 분리
- 예를 들어, 로깅, 보안, 트랜잭션 관리 등을 분리하여 처리함으로써 코드의 중복을 줄이고 개발자는 핵심 비즈니스 로직에 집중
- PSA(Portable Service Abstraction)
- PSA는 추상화된 계층 기술을 제공하여 특정 기술과 환경에 종속되지 않고 일관된 방식으로 접근환경을 제공하는 추상화 구조
Spring 모듈
- Spring Core: IoC/DI 기능을 제공하며 BeanFactory를 기반으로 Bean 클래스들을 제어
- Spring Context: Spring Core의 기능 외에 추가적인 기능들을 제공하며 JNDI, EJB 등을 위한 Adaptor들을 포함
- Spring DAO: JDBC 기반의 DAO 개발을 더 쉽고 일관된 방법으로 지원
- Spring ORM: Hibernate, IBatis, JDO와의 결합을 지원하여 ORM 프레임워크를 쉽게 통합
- Spring AOP: Aspect Oriented Programming을 지원하여 애플리케이션의 핵심 기능과 관련 없는 부가 기능을 분리하여 처리
- Spring Web: Web Application 개발에 필요한 기능을 지원하며 다양한 프레임워크의 통합을 지원
- Spring Web MVC: 독립적으로 Web UI Layer에 Model-View-Controller를 지원하여 다양한 UI 기술을 사용
참고
'Spring > 공통 기반 지식' 카테고리의 다른 글
서블릿 컨테이너, 스프링부트 동작 과정 (0) | 2024.03.06 |
---|