Skip to content

πŸƒ μ‹€μ „ Spring Boot 3 & DDD μ—”ν„°ν”„λΌμ΄μ¦ˆ μ•„ν‚€ν…μ²˜ ​

사내 개발자λ₯Ό μœ„ν•œ 도메인 주도 섀계(DDD) 및 κ³ μ„±λŠ₯ λ°±μ—”λ“œ μ—”μ§€λ‹ˆμ–΄λ§ 싀무 κ°€μ΄λ“œ


πŸ“– ꡐ재 κ°œμš” ​

λ³Έ κ΅μž¬λŠ” Spring Boot 3, Java 21, JPA/Hibernate, PostgreSQL ν™˜κ²½μ—μ„œ μœ μ§€λ³΄μˆ˜μ„±μ΄ λ›°μ–΄λ‚œ 클린 λ°±μ—”λ“œ μ•„ν‚€ν…μ²˜λ₯Ό κ΅¬μΆ•ν•˜λŠ” 과정을 λ‹€λ£Ήλ‹ˆλ‹€.

  • μƒνƒœ: πŸš€ 원고 μ€€λΉ„ 및 κΈ°κ³  쀑
  • λŒ€μƒ: Spring Boot 기초λ₯Ό λ–Όκ³  μ—”ν„°ν”„λΌμ΄μ¦ˆ μ•„ν‚€ν…μ²˜λ‘œ λ„μ•½ν•˜λ €λŠ” λ°±μ—”λ“œ 개발자
  • 핡심 ν‚€μ›Œλ“œ: Domain-Driven Design, Hexagonal Architecture, QueryDSL, Virtual Threads, Spring Security AOP

πŸ—ΊοΈ 컀리큘럼 λ‘œλ“œλ§΅ (μ˜ˆμ •) ​

  1. Part 1. λ ˆκ±°μ‹œ CRUDμ—μ„œ 도메인 λͺ¨λΈ νŒ¨ν„΄μœΌλ‘œ
    • κ³„μΈ΅ν˜• μ•„ν‚€ν…μ²˜μ˜ ν•œκ³„μ™€ λΉˆμ•½ν•œ 도메인 λͺ¨λΈ(Anemic Domain Model)
    • Entity와 Value Object의 뢄리, λΆˆλ³€ 객체 섀계
  2. Part 2. μ˜μ†μ„± 계측과 쿼리 μ΅œμ ν™”
    • JPA N+1 λ¬Έμ œμ™€ 벌크 μ—°μ‚°
    • 볡합 쿼리λ₯Ό μœ„ν•œ QueryDSL Repository νŒ¨ν„΄
  3. Part 3. 이벀트 기반 μ•„ν‚€ν…μ²˜μ™€ λΆ„μ‚° νŠΈλžœμž­μ…˜
    • Spring ApplicationEventλ₯Ό ν™œμš©ν•œ 도메인 이벀트 λ°œν–‰
    • Outbox νŒ¨ν„΄κ³Ό μ‹ λ’°μ„± μžˆλŠ” λ©”μ‹œμ§•

Moon HomeLab Engineering Knowledge Hub