spring 3

[Spring]Web - Service Layer 간 상호 의존 문제(Circular Dependency)

Introduction 지난주에 첫 PR을 올렸다! 책을 참고해 작성한 POST 로직 관련 기능이었다. 기대 반 걱정 반으로 PR을 올렸는데 아니나 다를까 피드백이 줄줄이 달리기 시작했다. 그 중에서 꽤나 인상적인 리뷰가 있었다. nit: How about thinking this? 🙇‍♂️ but, You don't need to fix it now (N)ot (I)mportant, (T)hough Controller(package-web) has a dependency on Service(business logic/package-service) Service(business logic/package-service) has a dependency on DTO(package-web) what is the..

Spring 2022.07.16

[SpringBoot] Error: Unable to find a @SpringBootConfiguration 에러 원인 및 해결

Current status 첫 실무로 기존 프로젝트(프로젝트명 DR)를 개선하는 업무를 받았다. 그러나 기존 프로젝트의 구조가 워낙 복잡한지라.. 일단 형태 자체는 CRUD 기반의 게시판이었기에 책을 참고해가며 클론 코딩하기로 결정했다. 기존 프로젝트 DR 역시 엔티티 클래스와 이에 대응하는 Repository 인터페이스를 갖고 있었다. 책의 진행 흐름(3장)을 보면 프로젝트를 진행할 때 가장 먼저 Posts 클래스와 PostsRepository 인터페이스를 만드는 것을 확인할 수 있다. (여기가 문제의 시작..) 클론 코딩에서 역시 기존 코드에 있는 엔티티 클래스와 Jpa Repository 인터페이스를 만들고 DB와 잘 연동하는지 테스트코드까지 작성을 완료했다. 정리하면 DR 클래스 & DRRepos..

Spring 2022.07.03

Spring의 설계 철학(Design philosophy)은?

프레임워크에 대해 배울 때, 이것이 무엇인지를 아는 것뿐만 아니라 어떤 원리를 따르는지를 아는 것 역시 중요하다. 아래는 스프링 프레임워크를 이끄는 원리이다. 모든 레벨에서 선택권을 제공한다. Spring은 설계 의사결정을 최대한 늦게 하도록 연기할 수 있게 한다. 예를 들어, 코드를 변경하지 않고 configuration을 통해 지속성 제공자를 바꿀 수 있다. 이는 다른 많은 인프라 문제와 타사 API와의 통합에 대해서도 마찬가지다. 다양한 관점을 수용한다. Spring은 유연성을 포용하며 일을 처리하는 방법에 대한 의견을 제시하지 않는다. 또한, Spring은 서로 다른 관점을 갖는 넓은 범위의 애플리케이션 요구 사항을 제공한다. 이전 버전과의 강력한 호환성을 유지한다. Spring의 진화는 버전 간..

Spring 2022.06.08