[Spring] 3 Layer Architecture 개념 정리
·
Spring
JPA의 어노테이션과 엔티티 개념에 대해서 이전 글을 통해 정리하고 복습하는 과정을 거쳤다. 오늘은 CRUD 테스트 이전에 짚고 넘어가야만 했던 중요한 내용인 3 Layer Architecture의 개념을 추가 정리하고자 한다. ✅ 3 Layer Architecture: 소프트웨어 시스템을 세 개의 논리적 계층으로 분리하는 아키텍처세 개의 레이어로 분리Controller Layer (Persentation Layer라고도 함)Service Layer (Business Layer, Apllication Layer라고도 함)Repository Layer (Data Layer라고도 함)📌 3 Layer Architecture의 목적관심사의 분리각 계층은 고유한 책임만 담당변경 사항의 영향 범위 최소화유지보수..
[Spring] Spring Data JPA 개념 정리하기
·
Spring
기본 개념들을 다시 학습하는 시간을 거치고 나서 오늘은 Spring Data JPA의 개념에 대해 학습하고 직접 타이핑해보고, Postman을 통해 오류없이 진행되는지 확인하는 과정을 거쳤다. 그 중에서 사소한 실수와 처음 경험해보는 환경에 대해 익숙해지고 실수를 반복하지 않도록 하기 위해 정리하고 넘어가보고자 한다. 오늘은 학습 과정에서 어떤 특이사항과 해결과정이 있었는지도 함께 담아 내보고자 한다. ✅ 오늘 학습한 내용JPA란? : 객체 지향 프로그래밍 언어인 Java와 관계형 데이터베이스 간의 패러다임 불일치 문제를 해결하여 데이터베이스 작업을 객체 지향적으로 수행할 수 있도록 지원하는 ORM. SQL을 직접 작성하지 않고도 객체 조작을 통해 DB작업을 수행할 수 있도록 표준화된 인터페이스를 제공 ..
[Spring] 스프링을 위한 기본 개념 복습 및 학습 -2
·
Spring/백엔드 기초
💡 서블릿의 문제점낮은 응집도 (Low Cohesion) : 하나의 서블릿 클래스 내에 HTTP 요청 처리, 비즈니스 로직, 데이터 접근, 응답 생성 로직이 모두 혼재. 이는 단일 클래스가 너무 많은 책임을 갖게 하여 코드의 이해와 테스트를 어렵게 만듦강한 결합도 (High Coupling) : 비즈니스 로직이 HttpServletRequest, HttpServletResponse와 같은 서블릿 API에 직접적으로 의존. 이로 인해 웹 환경 밖에서 단위 테스트를 수행하기가 매우 까다로워짐반복적인 상용구 코드 (Boilerplate Code) : 요청 파라미터 파싱, 타입 변환, 응답 컨텐츠 타입 설정 등 모든 요청에 대해 반복적인 코드가 필수적으로 요구됨👉 이런 문제점을 해결하기 위해 관심사의 분리(..
[Spring] 스프링을 위한 기본 개념 복습 및 학습
·
Spring/백엔드 기초
아직 모자란 부분이 많지만, Spring 을 시작하기 전에 앞서 그동안 학습했고 정리했던 개념들을 다시 한번 돌이켜보고이를 기반으로 Spring을 진행할 때의 이해도를 갖춰 나아가고자 한다. 💡 생성자생성자란 클래스로 어떻게 객체를 만들 것인가를 정의한 방법// 클래스 정의 - 틀, 설계도public class Bread { String name; // 빵의 이름 int calorie; // 빵의 칼로리 // 생성자 정의 - 어떻게 결과물을 만들 것인가에 대한 방법을 '강제' public Bread(String name, int calorie) { this.name = name; this.calorie = calorie; }} 위와 같은 생성자의 파..