[Spring] Spring이란?

in_ho_·2023년 10월 30일
0

Spring

목록 보기
1/4
post-thumbnail

1. Spring Framework의 특징

  1. POJO(Plain Old Java Object) 기반의 경량 컨테이너 제공
  2. 복잡한 비즈니스 영역의 문제를 쉽게 개발하고 운영하기 위한 철학
  3. 여러 개의 개별 단위로 구성되어 있는 모듈식 프레임워크
  4. 높은 확장성 및 범용성, 광범위한 생태계 시스템
  5. 엔터프라이즈 애플리케이션에 적합한 경량급 오픈 소스 프레임워크

1-1. POJO 기반의 경량 컨테이너

  • 개발자는 POJO 클래스를 개발하고, 스프링 컨테이너는 POJO 객체들을 관리한다.
    • 스프링 컨테이너가 관리하는 객체를 Spring Bean이라고 한다.

      스프링 컨테이너는 ApplicationContext 인터페이스를 구현한 클래스를 의미한다.
      넓은 의미로 Spring Container = ApplicationContext라고 한다.

    • POJO 객체는 특정 기술에 종속되지 않는 순수 자바 객체를 의미한다.

      스프링 프레임워크를 사용하면 개발자의 코드에 최대한 적은 영향을 줌으로, 개발하는 클래스와 프레임워크의 코드가 분리되어 복잡도를 낮출 수 있다.

1-2. 복잡한 비즈니스 영역의 문제를 쉽게 개발하고 운영하기 위한 철학

  • 위의 그림은 스프링 트라이앵글이라고 한다.
    • 스프링 프레임워크의 핵심 요소는
      1. 의존성 주입(DI)
      2. 관점 지향 프로그래밍(AOP)
      3. 서비스 추상화(PSA)
    • 이며, POJO 객체를 기반으로 동작하도록 설계되었다. 이러한 핵심 요소를 통해 개발자가 도메인 영역의 문제에 집중할 수 있도록 한다.

도메인

  • 소프트웨어상에서 해결해야 할 비즈니스 영역의 문제를 도메인이라고 한다.

1-3. 모듈식 프레임워크

  • 스프링 프레임워크는 엔터프라이즈급 애플리케이션을 개발할 수 있는 여러 기능을 포함하고 있다.
  • 기능들은 분류되어 모듈이라는 단위로 관리된다.

1-4. 높은 확장성과 범용성, 생태계 시스템

  • 다양한 스프링 프레젝트(모듈)을 선택할 수 있고 하나의 프로젝트 안에는 수많은 제품에 대한 확장성과 생태계를 적용할 수 있다.

1-5. 엔터프라이즈급 애플리케이션 개발에 적합한 오픈 소스 경량급 프레임워크

  • 스프링 프레임워크를 이용하면 일관성 있게 엔터프라이즈급 애플리케이션을 개발할 수 있다.

0개의 댓글