Spring Framework

박찬호·2022년 4월 18일
0

Spring

목록 보기
2/6

Spring Framwork는 자바로 엔터프라이즈 에플리케이션을 만들 때 포괄적으로 사용하는 Programming 및 Configuration Model을 제공해 주는 Framework이다. 에플리케이션 수준의 인프라 스트럭처를 제공한다.

Framework는 뼈대이다. 즉, 어떻게 웹을 만들든 공통된 뼈대는 스프링이 알아서 처리해줄 수 있다. 그렇기 때문에 개발자가 실수하기 쉬운 Low Level에 신경 쓰지 않고 Business Logic 개발에 전념하게 해준다.

Spring의 구조

Spring 삼각형

  1. POJO
    특정 환경 및 기술에 종속적이지 않은 객체지향 원리에 충실한 자바 객체
    테스트하기 용이하며, 객체지향 설계를 자유롭게 할 수 있다.
  2. PSA
    환경과 세부기술의 변경과 관계없이 일관된 방식으로 기술에 접근할 수 있게 해주는 설계 원칙
    트랜잭션 추상화, OXM 추상, 데이터 액세스의 Exception 변화기능..등 기술적인 복잡함은 추상화를 통해 Low Level의 기술 구현 부분과 기술을 사용하는 인터페이스를 '분리'
    예를 들어 데이터베이스에 관계없이 동일하게 적용 할 수 있는 트랜잭션 처리방식
  3. IoC/DI
    DI는 유연하게 확장 가능한 객체를 만들어 두고 객체 간의 의존관계는 외부에서 다이나믹하게 설정, 제어 역전
  4. AOP
    관심사의 분리를 통해서 소프트웨어의 모듈성을 향상
    공통 모듈을 여러 코드에 쉽게 적용가능

Spring의 모듈

  1. Spring Core
    Spring Framework의 핵심 기능 제공, Core 컨테이너의 주요 컴포넌트는 Bean Factory
  2. Spring Context
    Spring을 컨테이너로 만든 것이 Spring core의 Bean Factory라면 Spring을 Framework로 만든 것은 Context module이다. 이 모듈은 국제화된 메세지, Application의 생명주기 이벤트, 유효성 검증 등을 지원함으로서 Bean Factory의 개념을 확장을 한다.
  3. Spring AOP
    설정 관리 기능을 통해 AOP 기능을 Spring Framework와 직접 통합시킨다.
  4. Spring DAO
    Spring JDBC DAO 추상 레이어는 다른 데이터베이스 벤더들의 예외 핸들링과 오류 메시지를 관리하는 중요한 예외계층을 제공한다.
  5. Spring ORM
    Spring은 여러 ORM Framework에 플러그인 되어, Object Realational 툴을 제공한다.
  6. Spring Web
    Web Context module은 Application Context module 상위에 구현되어, Web기반 Application에 context을 제공한다.
  7. Spring Web MVC
    Spring은 자체적으로 MVC 프레임워크를 제공하고 있으며, 스프링만 사용해도 MVC기반 웹 어플리케이션 개발이 가능하다.
profile
Develop for Fun

0개의 댓글