Title suggestion for the GitHub repo:
springboot-lab-2407Hands-on Spring Boot examples from the 2024-07 class sessions
| No. | Project | Quick Purpose |
|---|---|---|
| 1 | ex1 | 가장 기본적인 “Hello, Spring Boot” 예제 |
| 2 | ex2 | Spring Data JPA + H2 CRUD 실습 |
| 3 | ex3 | Paging & Sorting JPA |
| 4 | ex4 | JPQL / Query 메소드 고급 예제 |
| 5 | ex5mv | MVC 패턴 - Model & View 분리 |
| 6 | ex6 | Validation & Exception Handling |
| 7 | ex7 | 파일 업로드 / 다운로드 |
| 8 | ex8 | RESTful API & JSON 응답 |
| 9 | exJSP | JSP View, Spring Security 기본 |
| 10 | test-server | 통합 테스트 전용 서버 스켈레톤 |
| 11 | InstaPrj | “Instagram Clone” - 게시글 & 댓글 |
| 12 | MyInstaPrj | InstaPrj 개선판 (+Likes, Follow) |
TIP : 각 항목의 디렉터리 트리 는 접어서 보도록 <details> 태그를 사용했습니다. 필요 없는 코드를 줄여 README 길이를 관리할 수 있으니, 상황에 따라 열/닫아 주세요.
모든 예제는 표준 Maven 레이아웃을 따릅니다.
<project>/ ├─ pom.xml ├─ src/ │ ├─ main/ │ │ ├─ java/… # 애플리케이션/도메인 코드 │ │ └─ resources/… # 설정, 정적 리소스 │ └─ test/java/… # 테스트 코드 └─ README.md # (← 바로 이 파일!) 디렉터리 트리 보기
ex1/ ├─ .gitignore ├─ mvnw* ├─ pom.xml └─ src/ ├─ main/ │ ├─ java/com/example/ex1/ │ │ ├─ Ex1Application.java │ │ └─ controller/ │ │ ├─ HelloController.java │ │ └─ DataController.java │ └─ resources/ │ ├─ application.properties │ └─ static/ │ └─ index.html └─ test/java/com/example/ex1/ └─ Ex1ApplicationTests.java 핵심 학습 포인트 : 정적 리소스 서빙, 단순 컨트롤러 매핑
디렉터리 트리 보기
ex2/ ├─ pom.xml └─ src/ ├─ main/java/com/example/ex2/ │ ├─ Ex2Application.java │ ├─ entity/Memo.java │ └─ repository/MemoRepository.java ├─ main/resources/application.properties └─ test/java/com/example/ex2/ ├─ Ex2ApplicationTests.java └─ repository/MemoRepositoryTests.java 핵심 학습 포인트 : Spring Data JPA 기본 CRUD, 테스트 작성
디렉터리 트리 보기
ex3/ ├─ pom.xml └─ src/main/java/com/example/ex3/ ├─ Ex3Application.java ├─ entity/ ├─ dto/ └─ repository/ 핵심 학습 포인트 : 페이징·정렬, DTO 변환
디렉터리 트리 보기
ex4/ ├─ pom.xml └─ src/main/ ├─ java/com/example/ex4/ └─ resources/ 핵심 학습 포인트 : JPQL, Query 메소드 커스터마이징
디렉터리 트리 보기
ex5mv/ ├─ pom.xml └─ src/main/ ├─ java/com/example/ex5mv/ │ ├─ Ex5Application.java │ ├─ controller/ │ └─ service/ └─ resources/templates/ # Thymeleaf views 핵심 학습 포인트 : MVC 계층 분리, Thymeleaf 연동
디렉터리 트리 보기
ex6/ ├─ pom.xml └─ src/main/ ├─ java/com/example/ex6/ │ ├─ Ex6Application.java │ └─ controller/ └─ resources/ 핵심 학습 포인트 : Bean Validation, 전역 예외 처리
디렉터리 트리 보기
ex7/ ├─ pom.xml └─ src/main/ ├─ java/com/example/ex7/ └─ resources/ 핵심 학습 포인트 : 멀티파트 파일 업로드, 로컬 저장
디렉터리 트리 보기
ex8/ ├─ pom.xml └─ src/main/ ├─ java/com/example/ex8/ └─ resources/ 핵심 학습 포인트 : REST Controller, JSON 직렬화
디렉터리 트리 보기
exJSP/ ├─ pom.xml └─ src/ ├─ main/java/com/example/exJSP/ │ ├─ ExJspApplication.java │ ├─ config/SecurityConfig.java │ └─ controller/SampleController.java ├─ main/resources/application.properties └─ main/webapp/WEB-INF/views/ 핵심 학습 포인트 : JSP 뷰, 기본 Spring Security 설정
디렉터리 트리 보기
test-server/ ├─ pom.xml └─ src/ ├─ main/java/com/example/testserver/ └─ test/java/com/example/testserver/ 핵심 학습 포인트 : MockMvc / TestRestTemplate 등을 이용한 통합 테스트
디렉터리 트리 보기
InstaPrj/ ├─ pom.xml └─ src/ ├─ main/java/com/example/insta/ │ ├─ controller/ │ ├─ domain/ │ ├─ security/ │ └─ service/ └─ main/resources/ 핵심 학습 포인트 : 게시물·댓글·회원가입, Spring Security 로그인
디렉터리 트리 보기
MyInstaPrj/ ├─ pom.xml └─ src/ ├─ main/java/com/example/myinsta/ │ ├─ controller/ │ ├─ domain/ │ ├─ security/ │ └─ service/ └─ main/resources/ 핵심 학습 포인트 : InstaPrj 확장판 – 좋아요, 팔로우, S3 이미지 업로드 등
# 예: ex3 실행 cd ex3 ./mvnw spring-boot:run # 또는 mvn spring-boot:runJDK 17+ 및 Maven 3.9+ 환경 권장 일부 예제는 H2 DB 메모리 모드로 자동 실행됩니다.