221130 Spring FrameWork

Jongleee·2022년 11월 30일
0

TIL

목록 보기
117/576

정의

자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크

엔터프라이즈 서비스
실제 기업에서 사용할 수 있을 정도의 시스템으로 UI, 서비스 로직을 포함하여 있는 것이 아니라 보안, 트랜잭션과 같은 엔터프라이즈 시스템에서 요구되는 기술을 포함하는 서비스

엔터프라이즈 시스템 개발의 복잡성

  1. 기술적인 복잡성
    기술적 제약조건과 요구사항이 늘어남.
  2. 비즈니스 로직의 복잡성
    구현해야할 비즈니스 로직의 복잡함 증가

이는 특성상 제거할 수 없으므로 엔터프라이즈 어플리케이션 개발의 복잡성을 효과적으로 다루기 위해 기술적 복잡성과 비즈니스 로직의 복잡성의 분리가 필요

비침투적인(non-invasive) 기술

일반 Java 코드의 경우 기술 제약의 변경이든 비즈니스 로직의 변경이든 모두 메서드 안의 코드를 수정해야 하지만 Spring을 사용했을 경우 기술 제약의 변경에 대해서 기존 메서드 안에서의 소스 수정이 없음

이렇게 Spring은 적용한 기술이 메서드나 Class 코드에 직접 반영되지 않는 특징을 가지고 있으며 이런 기술을 비침투적인(non-invasive) 기술이라고 함

Spring을 비침투적인 기술로 만들기위한 3가지 핵심요소

  1. IoC/DI
  2. AOP(Aspect Oriented Programing)
  3. PSA(Portable Service Abstraction)

0개의 댓글