[Spring] 간단한 게시판 기능 구현 - 3
·
Backend/Spring
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다. 게시판 비즈니스 로직 작성하기1. Service비즈니스 로직 코드먼저 한번 작성해봅시다.package study.board.service;import java.util.NoSuchElementException;import study.board.domain.Post;import study.board.dto.PostCreateRequest;import study.board.dto.PostResponse;import study.board.dto.PostUpdateRequest;import study.board.repository.PostRepository;import lombok.Req..
[Spring] 간단한 게시판 기능 구현 - 2
·
Backend/Spring
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다. 게시글 *CRUD API 구현하기* CRUD: Create, Read, Update, Delete 1. Domain (Post.java)가장 먼저 데이터 구조를 정의하는 코드를 작성해봅시다!이게 전체 프로젝트의 중심이라고 볼 수 있습니다. Post.javapackage study.board.domain;import java.time.LocalDateTime;import lombok.Builder;import lombok.Getter;@Getter // 1. 모든 필드에 getter 자동 생성 — 외부에서 읽기만 가능public class Post { private fina..
[Spring] 간단한 게시판 기능 구현 - 1
·
Backend/Spring
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다. 프로젝트 세팅과 구조 설계하기1. 프로젝트 생성Intellij IDE를 사용하여 스프링 프로젝트를 생성하고 세팅해보겠습니다.Dependencies는 딱 3개만 사용해보겠습니다.이름: board위치: 프로젝트를 저장할 디렉터리언어: Java타입: Gradle - Groovy그룹: study아티팩트: board패키지 이름: study.boardJDK: openjdk-24 (Oracle)Java: 17패키지 생성: Jar2. 패키지 구조 설계프로젝트를 열면 BoardApplication.java 하나만 존재합니다.하나씩 만들어가면서 프로젝트를 채워보겠습니다.src/main/java/co..
[Java] Spring Boot와 Web MVC 파헤치기
·
Backend/Spring
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다. Spring Boot와 Web MVC (요청이 처리되는 전체 흐름)1. 큰 그림요청이 들어오면 무슨 일이 벌어지냐면요?전체 흐름을 한 줄로 요약하면 이래요.HTTP 요청 → Filter (서블릿 컨테이너 — Spring 바깥) → DispatcherServlet (Spring의 관문, 모든 요청을 여기서 받음) → Interceptor (Spring 안 — 전처리) → Controller (실제 요청 처리) → Service → Repository → DB → 역순으로 응답 반환2. DispatcherServletDispatcherServlet은 모든 HTT..
[Spring] AOP 원리와 코드로 실습하며 파헤치기
·
Backend/Spring
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다. AOP 원리와 실습 (공통 기능을 코드에서 분리하기)1. AOP가 왜 필요할까?DI로 객체 간 결합을 느슨하게 만들었습니다.그런데 아직 해결하지 못한 문제가 존재해요!! 아래 코드를 한 번 보죠.public class OrderService { public void order(String item) { long start = System.currentTimeMillis(); // ← 시간 측정 log.info("order() 호출됨"); // ← 로깅 // 실제 비즈니스 로직 Sys..
[Spring] IoC/DI 코드로 실습하며 파헤치기
·
Backend/Spring
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다. IoC/DI 코드로 실습하며 파헤치기1. 문제 상황시나리오: 알림 발송 시스템주문이 완료되면 고객에게 알림을 보내는 서비스를 만들어주세요.처음엔 이메일로 보내다가, 나중에는 SMS로 바꿔달라는 요청 수신.2. DI 없는 코드아래 코드를 보면 문제점이 보입니다.// 이메일 발송 클래스public class EmailNotifier { public void send(String message) { System.out.println("[EMAIL] " + message); }}// 주문 서비스 — EmailNotifier를 직접 생성public class Orde..