Spring의핵심

kkjj·2022년 5월 10일
0

🏳️Spring

  • Spring1.0버전은 2004년 3월출시
    지난 20년 가까지의 세월동안 단한번도 자바 엔터프라이즈 어플리케이션 개발의 최고의 자리를 차지함

  • 스프링 프레임워크 구성은 20여가지로 구성(https://spring.io/project/spring-framework)
    이러한 모듈들은 스프링 핵심기능(DI,AOP,etc)를 제공해주며,필요한 모듈만 선택하여 사용가능

  • 현재 단일 아키텍처(모놀리스) 마이크로서비스 아키텍처로 변환 중
    여기에 맞춰서 스프링도 진화하고있는상태

  • 여러가지 모듈이 있지만 그중에서 단연
    스프링부트,스프링 클라우드,스프링 데이터,스프링 배치,스프링시큐리티에 중점을둔다

  • Spring 의 과제는 "테스트의 용이성","느슨한 결합"에 중점을 두고 개발

  • 2000년대 초의 자바 EE 애플리케이션은 작성/테스트가 매우 어려웠으며,한번 테스트하기가 번거로웠다
    이로인하여, 느슨한 결합이 된 애플리케이션 개발이 힘든 상태였으며,특히 데이터베이스와 같이 외부에 의존성을 두는 경우 단위테스트가 불가능했다.

  • 🚩IoC의 등장

    스프링이 다른 프레임 워크와 가장 큰차이점이 IoC를 통한 개발 진행

  • 🚩Aop

    aop 를 사용하여,로깅,트랜잭션 관리, 시큐리티에서의 적용 등 AspectJ와 같이 완벽하게 구현된 AOP와 통합하여 사용 가능하다.

🏳️spring 삼각형

  • 의존 관계 주입
  • 관점 중심 프로그램
  • 이식 가능한 추상화
profile
백엔드

0개의 댓글