안녕하세요! 오늘은 Spring Framework 와 JPA 를 사용하여 의존 관계에 있는 테이블에 있는 데이터를 안전하게 삭제하는 방법에 대해 알아보겠습니다. 복잡한 데이터 모델에서는 하나의 엔티티가 다른 엔티티와 관계를 맺고 있을 때가 많습니다. 이러한 경우, 한 엔티티를 삭제할 때 관련 엔티티도 함께 삭제해야 할 필요가 있습니다. 오늘의 예제는 interior프로젝트에서 구현한 Album 엔티티와 이와 연관된 Image 엔티티들을 함께 삭제하는 상황을 살펴보겠습니다. 엔티티 관계 설정 먼저, Album과 Image 엔티티를 살펴보겠습니다. Album은 여러 Image 엔티티와 일대다 관계를 맺고 있습니다. @Builder @AllArgsConstructor @NoArgsConstructor @Dat..
안녕하세요. 오늘은 Spring Framework를 사용하면서 자주 마주치는 MissingPathVariableException에 대해 알아보고, 이 문제를 해결하는 방법을 공유하고자 합니다. 오류 개요 MissingPathVariableException은 Spring MVC에서 컨트롤러의 메서드가 URI 경로 변수를 요구하는데, 실제 요청 URL에 해당 변수가 포함되지 않았을 때 발생합니다. 에러 메시지는 다음과 같습니다 .w.s.m.s.DefaultHandlerExceptionResolver: Resolved [org.springframework.web.bind.MissingPathVariableException: Required URI template variable 'id' for method p..
오늘은 "스프링 핵심 원리 - 기본 편"을 듣고 SOLID 원칙을 필기한 글을 포스팅합니다. 차후,, 그림도 넣고 업데이트 하는걸로.. 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리합니다. SRP : 단일 책임 원칙 (single responsibility principle) OCP : 개방-폐쇄 원칙 (Open/closed principle) LSP : 리스코프 치환 원칙 (Liskov subsitution principle) ISP : 인터페이스 분리 원칙 (Interface segregation principle) DIP : 의존관계 역전 원칙 (Dependency inversion principle) 위와 같은 SOLID 원칙은 Spring을 특정하여 만든 원칙이 아니..
안녕하세요 오늘은 JAVA언어를 사용하는 Spring Boot 웹프레임워크를 사용하면서 application.yml을 사용하게 되는데요. 여기서 git-hub에 올리면 안 될 민감한 정보를 관리하는 방법을 소개드리도록 하겠습니다. 왜 application.yml에서 민감한 정보를 보호해야 할까? 애플리케이션을 개발하다 보면 데이터베이스 비밀번호, API키, 인증 토큰 등과 같은 민감한 정보를 구성파일에 저장해야 할 때가 있습니다. 이러한 정보를 무단으로 액세스 하면 보안 위험에 노출될 수 있으므로, 이러한 정보는 안전하게 관리해야 합니다. {예를 들어 GPT api는 git-hub에 올라갔을 때 자체적으로 파기됩니다} 민감한 정보의 예시 spring: datasource: url: jdbc:mysql:/..
안녕하세요~! Spring Boot와 MySQL을 연동하는 방법을 알려드리려 합니다. Spring Data JPA와 MySQL을 활용하여 사용자 데이터를 관리하는 기본적인 CRUD(Create, Read, Update, Delete) 기능을 구현하는 과정을 차근차근 알아가 보겠습니다. 프로젝트 설정 먼저 application.yml 기본 설정부터 알려드리겠습니다. spring: jpa: database: mysql hibernate.ddl-auto: update show-sql: true datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:{portNum}/{databaseName}?serverTimezon..
Login with OAuth 2.0 [invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body] SpringBoot 3.0.7 버전을 사용하던 중 OAuth2.0 소셜 로그인 중 일어났던 오류입니다. 아래와 같은 오류는 Spring Boot가 2.x.x 버전에서 3.x.x버전으로 올라감에 따라 일어남으로 인지했습니다. Kakao 소셜 로그인중 일어났으며 해결방법은 아래와 같습니다. client-authentication-method: Post 먼저 스프링 시큐리티 버전을 확인하신 뒤, 변경하시면 됩니다. # Spring ..