Spring과 Spring Boot의 차이점
·
🗄️ Backend/Spring
이번 포스팅에서는 Spring과 Spring Boot의 차이점에 대해 정리해보려고 합니다.1. Spring Framework란Spring Framework는 오랜 기간 Java 개발자들 사이에서 사랑받아온 경량 프레임워크입니다. 주요 특징은 다음과 같습니다.DI(Dependency Injection)와 IoC(Inversion of Control):객체 간의 의존 관계를 직접 생성하지 않고 스프링 컨테이너가 관리해드림으로써 코드 결합도를 낮추고 테스트를 용이하게 합니다.AOP(Aspect Oriented Programming):로깅, 트랜잭션 관리, 보안과 같은 공통 기능을 분리하여 모듈화할 수 있도록 지원합니다.유연한 설정:XML, 어노테이션, 자바 기반 설정 등 다양한 설정 방식을 제공하지만, 이로 ..
Spring Boot 아키텍처 : Entity, DTO, Repository, Service, Controller 흐름과 활용
·
🗄️ Backend/Spring
Spring Boot를 이용해 웹 애플리케이션이나 API 서버를 개발하다 보면, 다양한 계층(layer)과 개념을 마주하게 됩니다. 특히 Entity, DTO, Repository, Service, Controller는 가장 기본적이면서도 필수적인 구성 요소입니다.이 글에서는 이 다섯 가지의 역할과 상호 연관관계 전 과정의 흐름을 파악할 수 있도록 구성했습니다.목차Entity: DB 테이블과 1:1 매핑되는 핵심 도메인 객체DTO: 계층 간 데이터 전송을 위한 객체Repository: DB 접근 로직을 담당하는 계층Service: 비즈니스 로직을 담당하는 계층Controller: 웹 요청/응답을 처리하는 계층전체 흐름과 연관관계예시 프로젝트 구조실전 예제 코드마무리 및 정리1. Entity개념Entity..
SpringBoot 비동기(Async) 처리
·
🗄️ Backend/Spring
비동기(Async) 처리 관련 학습 내용을 간단히 정리해보려고 합니다.이번에 프로젝트를 진행하면서 ‘동시에 여러 작업을 처리하는 방법’에 대해 내실을 다지는 계기가 되었습니다.1. 왜 비동기 처리가 중요할까?처음엔 “스프링 부트로 API 만들어서 RestController에 @GetMapping/@PostMapping 달아놓으면 끝”이라고만 생각했는데 막상 유저 수가 많아지고, 한 번에 요청이 빗발치면 서비스 응답이 늦어질 뿐 아니라 서버 자원도 효율적으로 쓰지 못하는 경우가 생겼습니다.동시성: 여러 요청을 동시에 처리해야 하는 상황자원 효율성: 쓰레드를 최소한으로 쓰면서 최대 성능 뽑아내기이 두 가지가 중요하다는 걸 깨닫고, 스프링에서 제공하는 비동기 처리 기법을 알아보기 시작했습니다.2. 스프링에서 ..