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..
HikariCP, MyBatis를 활용한 데이터베이스 연결 풀 설정 및 최적화
·
🗄️ Backend/Spring
Spring Framework는 Java 애플리케이션에서 데이터베이스와의 원활한 연결을 관리하기 위해 다양한 방법을 제공합니다.그 중에서도 HikariCP는 고성능 JDBC 커넥션 풀 라이브러리로 유명하며,MyBatis는 SQL 매퍼 프레임워크로 SQL 처리 및 객체 매핑을 간편하게 할 수 있게 돕습니다.이번 포스트에서는 Spring 환경에서 HikariCP와 MyBatis를 설정하고, 효율적으로 데이터베이스 연결을 관리하는 방법에 대해 설명합니다.1. HikariCP 설정 (고성능 JDBC 커넥션 풀)HikariCP란?HikariCP는 Java 애플리케이션에서 데이터베이스와의 연결을 효율적으로 관리하는 커넥션 풀 라이브러리입니다. 성능과 경량성에서 우수한 평가를 받으며, 고성능 애플리케이션에서 필수적인..
스프링 프레임워크에서 Redirect, Request, Response 처리 및 서비스 계층 구현
·
🗄️ Backend/Spring
Spring Framework는 다양한 웹 애플리케이션 개발을 지원하는 강력한 도구입니다.특히, @Controller, @Service, @Repository 등의 어노테이션을 사용하여 웹 애플리케이션의 각 계층을 명확하게 구분할 수 있습니다.이 글에서는 Spring의 Redirect, Request, Response 처리 방법과 서비스 계층 구현에 대해 깊이 있게 다뤄보고, 이를 실제 예시와 함께 설명합니다.  1. Spring에서 Controller 및 요청 처리Spring MVC에서는 @Controller 어노테이션을 사용하여 웹 애플리케이션의 요청을 처리하는 컨트롤러 클래스를 정의합니다. 이 클래스는 클라이언트의 요청을 받고, 적절한 서비스 로직을 처리한 후 뷰(View)로 데이터를 전달하는 역할..
스프링 프레임워크(Spring Framework) 기본 개념과 활용
·
🗄️ Backend/Spring
스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 애플리케이션 프레임워크로,주로 엔터프라이즈 애플리케이션 개발에 사용됩니다.스프링은 개발자들이 복잡한 애플리케이션을 효율적으로 개발할 수 있도록 다양한 기능과 지원을 제공합니다.특히, 의존성 주입(DI), 관점 지향 프로그래밍(AOP), MVC 패턴 등을 통해애플리케이션의 유연성, 테스트 용이성, 유지보수성을 높여줍니다.이번 포스팅에서는 스프링 프레임워크의 주요 개념과 그 활용 방법을 상세히 설명합니다.스프링 프레임워크의 주요 기능DI(Dependency Injection, 의존성 주입)DI는 객체 간의 의존성을 외부에서 주입하는 방식으로, 코드의 결합도를 낮추고 유연성과 테스트 용이성을 향상시킵니다.예를 들어, 하나의 객체가 다른 객..