Spring Framework 모듈 구성

김예인·2023년 5월 31일

백엔드 공부일지

목록 보기
34/43
post-thumbnail

아키텍처(Architecture)

컴퓨터 시스템에서의 아키텍처는 어떠한 시스템을 구축하는 데 있어 해당 시스템의 비즈니스적 요구 사항을 만족하는 전체 시스템 구조를 정의하는 것

이해 당사자들의 전체 시스템 구조 파악에 무리가 없도록 이미지나 도형 등을 사용하여 최대한 심플함을 유지.


시스템 아키텍처

하드웨어와 소프트웨어를 모두 포함하는 어떤 시스템의 구성 요소 간 상호작용 방법, 동작 원리 등을 표현하는 것


소프트웨어 아키텍처

하드웨어를 제외한 컴퓨터 내의 모든 프로그램인 소프트웨어의 큰 구성을 큰 그림으로 표현한 것

<JAVA SE 아키텍처 예>


애플리케이션 아키텍처

예시 > 웹 애플리케이션을 위한 아키텍처 "계층형 아키텍처(N-티어)"

  • API 계층(표현 계층) : 클라이언트의 요청을 받아들이는 계층

  • 서비스 계층 : API 계층에서 전달받은 요청을 도메인의 요구 사항에 맞게 처리하는 계층

    • 도메인(Domain) : 애플리케이션 개발에서 특정 비즈니스 영역과 관련된 업무나 지식을 가리키는 용어
  • 데이터 액세스 계층 : 비즈니스 계층에서 처리된 데이터를 데이터베이스 등의 데이터 저장소에 저장하기 위한 계층


아키텍처로 보는 Spring Framework 모듈(Module) 구성

Spring Framework 모듈 아키텍처

모듈(Module)?

  • 지원되는 여러 가지 기능들을 목적에 맞게 그룹화하여 묶어 놓은 것
  • 자바에서 모듈은 패키지 단위로 묶여 있으며, 이 패키지 안에는 관련 기능을 제공하기 위한 클래스들이 포함
  • 일반적으로 모듈은 재사용 가능하도록 라이브러리 형태로 제공

Spring Boot

Spring Framework의 편리함에도 불구하고 Spring 설정의 복잡함으로 인해 어려움을 겪는 문제점을 해결하기 위해 생겨난 Spring Project 중 하나

Spring Boot을 사용해야 하는 이유

  • XML 기반의 복잡한 설계 방식 지양
  • 의존 라이브러리의 자동 관리
  • 애플리케이션 설정의 자동 구성
  • 프로덕션급 애플리케이션의 손쉬운 빌드
  • 내장된 WAS를 통한 손쉬운 배포
profile
백엔드 개발자 김예인입니다.

0개의 댓글