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. 스프링에서 ..
Spring Boot 기초: 웹 애플리케이션 설정
·
🗄️ Backend/Spring
Spring Boot는 Java 기반의 웹 애플리케이션을 빠르고 간편하게 개발할 수 있는 프레임워크입니다. 이번 포스트에서는 Spring Boot를 사용하여 간단한 웹 애플리케이션을 설정하고 실행하는 방법에 대해 상세히 설명합니다. 이 예제에서는 WebConfig, TestVO, HomeController 등을 활용하여 Spring Boot 프로젝트를 구성하고, 타임리프(Thymeleaf)를 사용한 템플릿 렌더링까지 다룹니다.1. Spring Boot 프로젝트 설정WebConfig.java - 스프링 설정 파일WebConfig.java는 Spring의 설정 파일로, 스프링 빈을 등록하고 프로퍼티 값을 주입받을 수 있는 역할을 합니다. 또한, @Value 애노테이션을 사용하여 application.prop..