[23기_임종훈] spring tutorial 미션 제출합니다.#3
[23기_임종훈] spring tutorial 미션 제출합니다.#3Jong0128 wants to merge 6 commits intoCEOS-Developers:Jong0128from
Conversation
There was a problem hiding this comment.
Pull request overview
Spring Boot 튜토리얼 미션 제출용으로 기본 애플리케이션/테스트/빌드 설정과 간단한 API(Hello, tests 조회), JPA 연동, 학습 문서를 추가합니다.
Changes:
HelloController및/tests조회 API(Controller/Service/Repository/Entity) 추가- Spring Boot 테스트 코드 및 Gradle/Wrapper/프로젝트 설정 추가
- Spring 핵심 개념(IOC/DI/AOP/PSA/MVC 등) 정리 문서(README) 대폭 확장
Reviewed changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated 17 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/java/com/ceos23/spring_boot/HelloControllerTest.java | MockMvc 기반 Hello 엔드포인트 테스트 추가 |
| src/test/java/com/ceos23/spring_boot/ApplicationTests.java | 컨텍스트 로딩 스모크 테스트 추가 |
| src/main/resources/application.yml | MySQL + JPA(hbm2ddl) + SQL 로깅 설정 추가 |
| src/main/java/com/ceos23/spring_boot/TestService.java | Test 조회 서비스 추가 |
| src/main/java/com/ceos23/spring_boot/TestRepository.java | JPA Repository 인터페이스 추가 |
| src/main/java/com/ceos23/spring_boot/TestController.java | /tests GET API 추가 |
| src/main/java/com/ceos23/spring_boot/Test.java | JPA Entity 추가 |
| src/main/java/com/ceos23/spring_boot/HelloController.java | / GET “Hello, Spring Boot!” API 추가 |
| src/main/java/com/ceos23/spring_boot/Application.java | Spring Boot 엔트리포인트 및 CommandLineRunner 추가 |
| settings.gradle | Gradle 프로젝트명 설정 추가 |
| gradlew.bat | Gradle Wrapper 스크립트(Windows) 추가 |
| gradlew | Gradle Wrapper 스크립트(POSIX) 추가 |
| gradle/wrapper/gradle-wrapper.properties | Wrapper 배포 설정 추가 |
| build.gradle | Spring Boot/Java/JPA/MySQL/Lombok 의존성 및 테스트 설정 추가 |
| README.md | 학습 문서(IOC/DI/AOP/PSA/MVC 등) 대폭 확장 |
| HELP.md | Spring Initializr 기본 도움말 문서 추가 |
| .gitignore | IDE/빌드 산출물 무시 설정 추가 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fervovita
left a comment
There was a problem hiding this comment.
과제하느라 수고 많으셨습니다!
꼼꼼히 작성해주신 덕분에 저도 리뷰하면서 다시 한번 깊이 있게 공부할 수 있었습니다. 😄
|
|
||
| --- | ||
|
|
||
| # DI (Dependency Injection) |
There was a problem hiding this comment.
생성자 주입, 수정자 주입, 필드 주입 각각의 장단점을 정리해주셔서 좋았습니다!👍
덕분에 각각의 차이점을 한눈에 파악할 수 있었습니다!
| 2. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 | ||
| 3. 실행할 때 특정 기능을 실행하도록 정보를 제공 | ||
|
|
||
| ## 스프링에서 어노테이션으로 Bean을 등록하는 과정 |
There was a problem hiding this comment.
Bean 등록 과정을 단계별로 자세히 설명해주셔서 덕분에 개념을 다시 한번 확실히 정리할 수 있었습니다! 😄
특히, @Controller나 @SpringBootApplication의 실제 내부 코드를 직접 예시로 보여주신 점이 정말 좋았습니다!
리뷰 남겨주셔서 감사합니다! 😄 |
| } | ||
| } | ||
| ``` | ||
|
|
There was a problem hiding this comment.
AOP를 바로 정의부터 들어가는 게 아니라
왜 AOP가 필요한지부터 설명해주신 흐름이 좋았습니다.
공통 관심사와 핵심 비즈니스 로직이 왜 분리되어야 하는지 먼저 짚고 나서
JoinPoint, Advice, PointCut 같은 용어로 넘어가니까
개념이 더 자연스럽게 연결된다고 느꼈습니다.
감사합니다.
|
|
||
| → `HandlerAdaptor`를 통해 컨트롤러 메소드 호출하고 그 결과를 다시 `HandlerAdaptor`한테 반환 | ||
|
|
||
| → 이걸 또 `dispatcherServlet`에게 반환 No newline at end of file |
There was a problem hiding this comment.
README를 전체적으로 정말 꼼꼼하게 정리해주셔서 인상 깊게 읽었습니다.
단순히 개념만 짧게 적어둔 게 아니라 직접 이해한 흐름대로 정리하려고 하신 느낌이 많이 들었습니다.
특히 DI 부분에서 각 주입 방식의 차이와 장단점을 비교해주신 점이 좋았고
AOP도 Why AOP부터 핵심 용어, 어노테이션, 예시 코드까지 순서대로 정리되어 있어서 읽기 편했습니다.
또 Bean 등록 과정이나 ComponentScan 설명도 실제 코드와 연결해서 정리해주셔서 이해하는 데 도움이 많이 됐습니다.
개인적으로는 DispatcherServlet 흐름을 내부 코드까지 따라가 보신 부분이 가장 인상적이었습니다.
과제를 할 때 이 부분이 조금은 헷갈렸는데 종훈님께서 직접 흐름을 쫓아가면서 정리해두셔서
큰 도움을 받을 수 있었습니다.
전체적으로 나중에 다시 봐도 참고하기 좋은 README라고 느꼈습니다.
감사합니다.
No description provided.