Files
llm-wiki/raw/official-docs/sample-spring-petclinic-github.md

7.8 KiB

title, source_type, url, archive_url, status, confidence, tags, related_projects, related_branches, created, last_reviewed
title source_type url archive_url status confidence tags related_projects related_branches created last_reviewed
spring-projects/spring-petclinic — Spring 공식 reference sample 애플리케이션 official-doc https://github.com/spring-projects/spring-petclinic raw high
ca-tmpl
sample-fixture
spring-petclinic
reference-sample
github-reference
official-doc
ca-tmpl
feature-sample-domain-contract-fixture
2026-05-22 2026-05-27

spring-projects/spring-petclinic — Spring 공식 reference sample 애플리케이션

Layer: raw/official-docs/spring-projects/spring-petclinic GitHub 저장소 README 발췌. ca-tmpl Group G — Sample domain contract fixture 의 대안 1 (Spring 공식 reference sample) 의 1차 근거.

Parent / 활용 branch (필수)

Branch 이 자료가 정당화하는 결정
raw/branch-notes/feature-sample-domain-contract-fixture Group G 대안 1 — Spring 공식 reference sample 도메인 (Owner/Pet/Visit/Vet) 이 ca-tmpl sample-ticket (12 scenario + state machine + idempotency) 비교의 대조축 근거

상위 프로젝트: raw/project-notes/ca-skeleton-operational-contract.

컨텍스트 / 왜 저장했는지

ca-tmpl의 sample domain fixture 결정(sample-ticket 12-scenario matrix + 6-field minimum model + 상태 머신 + optimistic lock + idempotency key)에 대한 대안 1로, Spring 진영에서 가장 오래/널리 인용되는 sample 애플리케이션. "공식 reference sample이 어떤 모델을 들고 가는가"의 비교점.

출처 / Source

  • 원본 URL: https://github.com/spring-projects/spring-petclinic
  • 아카이브 URL: (미수집)
  • 저자/조직: spring-projects (VMware/Broadcom Spring 팀, 공식)
  • 라이선스: Apache-2.0
  • Star 수: 8,000+ (공식 reference 등급)
  • 마지막 확인일: 2026-05-27

핵심 인용 / Key quotes (verbatim)

[§README — Overview] "The Spring PetClinic Sample Application — designed to show how the Spring stack can be used to build simple, but powerful database-oriented applications."

[§README — Stack] "It demonstrates the use of Spring Boot, Spring Data JPA, Spring MVC, Thymeleaf, Bean Validation."

[§README — Variants] "Several variants of the Spring Petclinic application are maintained: Spring Petclinic with Spring AI, REST, GraphQL, Kotlin, microservices, reactive..."

[§README — Disclaimer] "PetClinic is intended to be a demonstration of how the Spring Framework can be used. It is not intended as a 'best practice' for any real world application."

Claims Extracted / 추출된 주장

Claim ID Claim (이 자료가 직접 말하는 것) Evidence quote Strength Applies to Does not prove
SAMPLE-PC-C1 Spring PetClinic 은 Spring stack 이 어떻게 simple but powerful database-oriented application 을 빌드하는지 보여주기 위해 설계된 sample application 이다 [§README — Overview] "The Spring PetClinic Sample Application — designed to show how the Spring stack can be used to build simple, but powerful database-oriented applications." official-vendor-doc Spring stack 학습용 reference "production-ready 패턴" 또는 "엔터프라이즈 패턴 reference" 라는 뜻은 아님
SAMPLE-PC-C2 PetClinic 은 Spring Boot, Spring Data JPA, Spring MVC, Thymeleaf, Bean Validation 의 사용을 시연한다 [§README — Stack] "It demonstrates the use of Spring Boot, Spring Data JPA, Spring MVC, Thymeleaf, Bean Validation." official-vendor-doc 이 5개 Spring 컴포넌트의 통합 예시 학습 reactive / GraphQL / Kotlin 등 다른 stack 의 demo 라는 뜻은 아님 (그것은 variants — SAMPLE-PC-C3)
SAMPLE-PC-C3 Spring AI, REST, GraphQL, Kotlin, microservices, reactive 등 여러 variant 가 함께 유지된다 [§README — Variants] "Several variants of the Spring Petclinic application are maintained: Spring Petclinic with Spring AI, REST, GraphQL, Kotlin, microservices, reactive..." official-vendor-doc PetClinic 도메인 위에 다양한 stack 비교 학습 모든 variant 가 동일한 maintenance level / 최신성 / Spring 공식 보증 등급을 가진다는 뜻은 아님
SAMPLE-PC-C4 PetClinic 은 Spring Framework 사용 방법의 demonstration 의도이며, real-world application 의 "best practice" 로 의도되지 않았다 (공식 disclaimer) [§README — Disclaimer] "PetClinic is intended to be a demonstration of how the Spring Framework can be used. It is not intended as a 'best practice' for any real world application." official-vendor-doc PetClinic 코드를 실무 reference 로 차용할 때의 한계 인식 "PetClinic 의 모든 패턴이 잘못되었다" 는 뜻은 아님 — 단지 best-practice 로 의도되지 않았다는 사실

Usage Boundaries / 적용 경계

  • 이 자료가 직접 증명하는 것:
    • SAMPLE-PC-C1: PetClinic 의 목적 (Spring stack demo)
    • SAMPLE-PC-C2: 시연되는 5개 Spring 컴포넌트 (Spring Boot / Data JPA / MVC / Thymeleaf / Bean Validation)
    • SAMPLE-PC-C3: 유지되는 variants 의 종류
    • SAMPLE-PC-C4: best-practice 가 아니라는 공식 disclaimer (가장 중요한 근거 — ca-tmpl reference 차용 시 위험 신호)
  • 이 자료가 증명하지 않는 것:
    • PetClinic 도메인 (Owner / Pet / Visit / Vet) 의 정확한 entity 관계 (인용은 README 상위만 — 자세한 모델은 별도 페이지 / 코드 참조 필요)
    • PetClinic 이 idempotency key / optimistic lock / state machine / scenario matrix 를 포함하지 않는다는 사실의 공식 진술 (인용 범위 밖 — ca-tmpl 비교 메모의 해석)
    • PetClinic variants 중 어느 것이 production reference 로 권장되는지
    • PetClinic 의 README 가 가장 최신이라는 보장 (rolling docs)
  • 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
    • ca-tmpl sample-ticket 의 12-scenario matrix 가 PetClinic 의 어떤 entity / 시나리오에 매핑 가능한지 (혹은 mapping 불가능한 contract 부분)
    • PetClinic 의 best-practice disclaimer 가 ca-tmpl 의 "skeleton 계약 검증 fixture" 모델을 정당화하는 강한 근거인지 (해석 필요)
    • PetClinic microservices variant 의 patterns 가 ca-tmpl 의 sample-on/off matrix 와 충돌하지 않는지

메모

  • 도메인: Owner / Pet / Visit / Vet — 4 entity, 1:N + many-to-many 학습 목적.
  • 결정적 차이: petclinic은 "Spring stack 학습용 demo"라고 README에 명시. ca-tmpl sample-ticket은 "contract fixture(skeleton 계약 검증)"이 목적. petclinic은 best-practice가 아니라고 본인이 선언함 — ca-tmpl이 reference로 차용하기는 위험.
  • 모델 깊이: petclinic은 idempotency key, optimistic lock, state machine, scenario matrix가 없음. ca-tmpl sample-ticket(12 scenario + OPEN→IN_PROGRESS→CLOSED) 쪽이 contract 검증 도구로는 더 적합.
  • 장점: 모든 Spring 개발자 공통 어휘. 변종(REST/GraphQL/microservices) 다수 → 다양한 비교 가능.
  • 단점: 도메인이 CRUD 위주라 상태 머신/optimistic lock/idempotent create 같은 contract 검증 시나리오가 빠짐.
  • 신뢰도: official-doc, spring-projects org → 기준 reference로 인용 가능.
  • 같은 주제 다른 official-doc (Group G — Sample domain contract fixture 대안들):
    • (대안 2: RealWorld — 미수집)
    • (대안 3: Spring microservices sample — 미수집)
    • (대안 4: Stripe testmode shopping cart — 미수집)
    • (대안 5: No fixture — 비교 baseline)
  • 인용하는 branch:
  • canonical contract 섹션:
    • raw/project-notes/ca-skeleton-operational-contract#17. Sample Domain Fixture
    • raw/project-notes/ca-skeleton-operational-contract#22. Sample-portfolio Contract Matrix
  • 인용하는 wiki: (미작성)