feat: DI 컨테이너 및 서비스 등록 구조화 (#26) #27

Merged
seonkyu.kim merged 1 commits from feature/#26-di-setup into develop 2026-02-09 07:28:05 +00:00
Owner

📋 작업 요약

  • Program.cs의 DI 등록 코드를 레이어별 확장 메서드로 분리하여 구조화
  • 미들웨어 파이프라인을 UseMiddlewarePipeline() 확장 메서드로 통합
  • Program.cs를 30줄 수준의 깔끔한 진입점으로 정리

Closes #26

🛠️ 작업 내용 (Changes)

  • SPMS.Infrastructure/DependencyInjection.cs — AddInfrastructure() 확장 메서드 (DbContext, Repository, UnitOfWork, JwtService 등록)
  • SPMS.Application/DependencyInjection.cs — AddApplication() 확장 메서드 (향후 Application Service 등록용 구조)
  • SPMS.API/Extensions/ApplicationBuilderExtensions.cs — UseMiddlewarePipeline() 확장 메서드 (ProgramSetup.md §7 파이프라인 순서 준수)
  • SPMS.API/Program.cs — DI/파이프라인 분리로 정리
  • SPMS.Application/SPMS.Application.csproj — Microsoft.Extensions.DependencyInjection.Abstractions 패키지 추가

📢 리뷰어 참고 사항 (To Reviewers)

  • 기존 코드 삭제 없이 전부 확장 메서드로 이동한 리팩토링입니다
  • UseMiddlewarePipeline()에 미구현 미들웨어(SecurityHeaders, CORS, RateLimiter, ServiceCode, ApiKey, Sandbox)는 주석으로 순서를 표시해두었습니다
  • ProgramSetup.md §3, §5, §7 설계를 그대로 반영했습니다

체크리스트 (Self Checklist)

  • 빌드(Build)가 성공적으로 수행되었는가?
  • 모든 단위 테스트(Unit Test)를 통과하였는가?
  • 불필요한 로그나 주석을 제거하였는가?
  • 컨벤션(Clean Architecture, Naming)을 준수하였는가?
  • 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가?

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - Program.cs의 DI 등록 코드를 레이어별 확장 메서드로 분리하여 구조화 - 미들웨어 파이프라인을 UseMiddlewarePipeline() 확장 메서드로 통합 - Program.cs를 30줄 수준의 깔끔한 진입점으로 정리 ## 🔗 관련 이슈 (Related Issues) Closes #26 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Infrastructure/DependencyInjection.cs` — AddInfrastructure() 확장 메서드 (DbContext, Repository, UnitOfWork, JwtService 등록) - [x] `SPMS.Application/DependencyInjection.cs` — AddApplication() 확장 메서드 (향후 Application Service 등록용 구조) - [x] `SPMS.API/Extensions/ApplicationBuilderExtensions.cs` — UseMiddlewarePipeline() 확장 메서드 (ProgramSetup.md §7 파이프라인 순서 준수) - [x] `SPMS.API/Program.cs` — DI/파이프라인 분리로 정리 - [x] `SPMS.Application/SPMS.Application.csproj` — Microsoft.Extensions.DependencyInjection.Abstractions 패키지 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - 기존 코드 삭제 없이 전부 확장 메서드로 이동한 리팩토링입니다 - UseMiddlewarePipeline()에 미구현 미들웨어(SecurityHeaders, CORS, RateLimiter, ServiceCode, ApiKey, Sandbox)는 주석으로 순서를 표시해두었습니다 - ProgramSetup.md §3, §5, §7 설계를 그대로 반영했습니다 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` 빌드했습니다. 경고 0개 오류 0개 ```
seonkyu.kim added 1 commit 2026-02-09 07:26:53 +00:00
- Infrastructure/DependencyInjection.cs: AddInfrastructure() 확장 메서드
- Application/DependencyInjection.cs: AddApplication() 확장 메서드
- API/Extensions/ApplicationBuilderExtensions.cs: UseMiddlewarePipeline() 확장 메서드
- Program.cs 정리 (DI/파이프라인 분리)

Closes #26
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-09 07:27:01 +00:00
seonkyu.kim self-assigned this 2026-02-09 07:27:04 +00:00
seonkyu.kim added this to the Phase 1: 인프라 & 공통 모듈 milestone 2026-02-09 07:27:06 +00:00
seonkyu.kim requested review from Owners 2026-02-09 07:27:14 +00:00
seonkyu.kim merged commit 0070ae58b9 into develop 2026-02-09 07:28:05 +00:00
seonkyu.kim deleted branch feature/#26-di-setup 2026-02-09 07:28:18 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-09 07:28:40 +00:00
Sign in to join this conversation.
No description provided.