35일차(Spring Framework 아키텍처/Spring Boot)

Rina's·2023년 5월 30일

코드스테이츠

목록 보기
35/96

아키텍처

시스템을 구축에 있어 비즈니스적 요구 사항을 만족하는 전체 구조를 정의하는 것
아키텍처는 최대한 심플하게 할 것

시스템 아키텍처

하드웨어와 소프트 웨어의 구성을 모두 포함하며 시스템 구성 요소간의 상호작용을 표현

소프트웨어/애플리케이션 아키텍처

작게는 응용 프로그램부터 크게는 서버 애플리케이션을 포괄한다

계층형 아키텍쳐

프레젠테이션 계층(REST API제공 앱일 경우 API 계층)

클라이언트 요청수락 및 처리한 후 비지니스 로직을 호출하거나 데이터를 조작하여 결과를 반환
상위계층(서비스 계층, 데이터엑세스 계층)의 Exception을 처리
@Controller

서비스 계층

요청에 맞게 호출되어 비즈니스 로직을 업무 도메인의 요구에 맞게 처리
트랜잭션을 관리하며 프레젠테이션 계층과 데이터 엑세스 계층 사이를 연결
@Service

데이터 엑세스 계층

요청된 데이터 저장소(DB)의 데이터를 조회, 등록, 수정, 삭제
@Repository, DAO

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

패키지
하나의 디랙토리로서 클래스와 인터페이스의 묶음. 패키치를 통해 라이브러리끼리 구분이 가능하다(클래스명의 고유성을 보장)

모듈
여러 기능을 목적에 맞게 관련된 클래스, 인터페이스, 리소스 등 묶은 단위,
재사용 가능하도록 패키지들을 묶은 것, import와 export를 통해 패키지를 공유
module-info.java 파일에서 모듈을 정의

라이브러리
재사용 가능한 코드 모음, 특정 기능을 수행하기 위해 필요한 함수, 클래스, 메서드 등이 포함 됨. jar파일로 패키징되어 클래스 경로에 추가하여 사용
java.util

Spring Boot

애플리케이션의 구축을 도와주는 스프링 프로젝트

의존 라이브러리의 자동 관리(starter 모듈, 간편한 의존성 관리)
XML 기반설계를 지양하고 애플리케이션 설정의 자동 구성
손쉬운 애플리케이션 빌드(Gradle, War파일을 WAS에 업로드할 필요가 없음)
내장된 WAS를 통한 손쉬운 배포

XML: 데이터를 저장하고 전달하기 위한 마크업 언어
WAS: 웹 애플리케이션을 실행을 위한 서버, 보통 내장서버는 Tomcat, Jetty..

profile
갭린이 리나

0개의 댓글