본문 바로가기
728x90

Java33

스프링부트 @ConfigurationProperties 매핑 오류(null) 얼마 전, 개인 프로젝트 진행 중 계정 관련 설정값을 application.yml 파일에 넣어둔 뒤 자바 객체로 받아와 사용하려고 한 적이 있었다. @Value 보다는 @ConfigurationProperties로 받아오면 객체형태로 받아올 수 있기 때문에 해당 방법을 통해 설정값을 받아오려고 했는데, 해당 값을 참조할 때마다 계속해서 NPE가 발생했다. 오늘은 해당 이슈에 대한 내용을 공유하려고 한다. 문제 상황이슈의 원인을 공유하기 전에 먼저, 어떤 상황에서 발생했는지를 공유하려고 한다. 나는 아래와 같이 yml 파일에 계정 정보 리스트를 넣어두었다.property: accounts: - name: test1 password: pw1 - name: test2 passwo.. 2024. 10. 15.
자바 디자인 패턴(Design Pattern) 개요개발자로서 자바로 코딩을 하다 보면, 효율적이고 유지보수하기 쉬운 코드를 작성하는 것이 중요하다. 그 과정에서 자주 등장하는 것이 디자인 패턴(Design Pattern)이다. 처음에는 디자인 패턴이란 용어가 생소하게 느껴질 수 있지만, 개발 환경에서 마주치는 반복적인 문제들을 해결하는 데 큰 도움이 된다. 이번 글에서는 자바의 디자인 패턴에 대한 기본 개념을 쉽게 풀어 설명하려 한다. 디자인 패턴을 이해하고 나면 코드 작성과 구조화에 훨씬 자신감이 생길 것이다.  디자인 패턴이란 무엇인가? 디자인 패턴은 소프트웨어 개발에서 반복적으로 발생하는 문제를 해결하기 위한 일반화된 해결책이다. 디자인 패턴을 사용하면 코드의 재사용성이 높아지고, 유지보수가 쉬워지며, 다른 개발자와 협업할 때도 일관성을 유지할.. 2024. 10. 6.
Spring @RequestBody로 데이터 바인딩 오류 개요 Spring Boot를 사용해 REST API를 개발하면서, 클라이언트로부터 JSON 데이터를 받아 처리하는 상황이 빈번하다. 이때 @RequestBody 애너테이션을 사용해 데이터를 바인딩하는데, 간혹 데이터 형식이 맞지 않거나 잘못된 값이 들어오면 데이터 바인딩 오류가 발생할 수 있다.  최근 프로젝트에서도 비슷한 문제가 발생했는데, 이 과정에서 어떻게 오류를 해결하고 예방할 수 있는지에 대해 자세히 알아보게 되었다.  @RequestBody와 데이터 바인딩 오류의 이해 @RequestBody는 클라이언트로부터 전송된 JSON 데이터를 객체로 변환하는 역할을 한다. 예를 들어, 클라이언트에서 JSON 형식으로 데이터를 보내면, 해당 데이터를 Java 객체로 매핑해 사용할 수 있게 도와준다. 하.. 2024. 10. 1.
Spring Boot에서 Multipart 파일 업로드 시 파일 크기 제한 오류(MaxUploadSizeExceededException ) 개요 최근 프로젝트에서 이미지나 대용량 파일을 업로드하는 기능을 구현하면서 예상치 못한 오류를 마주했다. 파일 크기가 커질 때마다 업로드가 실패하고, 서버에서 파일 크기 제한 오류가 발생하는 것을 알게 되었다.  Spring Boot에서 기본적으로 설정된 파일 크기 제한이 존재한다는 것을 몰랐고, 이를 해결하는 과정을 통해 중요한 설정을 놓치고 있었다는 것을 깨달았다. 이번 글에서는 Spring Boot에서 파일 크기 제한 오류를 해결하는 방법을 다루고자 한다. Spring Boot의 기본 파일 업로드 설정 Spring Boot는 Multipart 파일 업로드를 기본적으로 지원한다. 하지만 대용량 파일을 업로드할 때는 기본 설정에 의해 크기 제한 오류가 발생할 수 있다. Spring Boot에서 Mult.. 2024. 9. 30.