spring 10

[Spring] Utility Class에 대해서는 Static Method로 구성하는 것이 좋을까?

안녕하세요 세기무민입니다. 이번 포스팅은 Utility Class에 대해서 Static Method vs @Component 중 어떻게 구성하는 것이 조금 더 효율적인지에 대해 의견을 정리해보려고 합니다. 서론회사에서 오프라인 코드 리뷰 중 Utility Class에 대해 Static Method가 효율적일지, @Component가 조금 더 효율적일 지 검토를 해보기로 하였고 이에 따라 개인적인 궁금증에 따라 서치를 시작했다. Static Method 말 그대로 정적 매서드로 인스턴스 생성 없이 호출이 가능하다. 주로 Utiility Class와 같이 재사용이 가능한 매서드를 제공하기 위해 사용된다. @Componet 비즈니스, 서비스 로직과 같이 어플리케이션 로직 구현 시 사용되는 어노테이션이며 의존성..

exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type 오류 해결하기.

안녕하세요 세기무민입니다. 이번 포스팅은 실무에서 역직렬화 관련하여 발생한 오류 해결과 관련하여 포스팅 해보려고 합니다. 실제 현업에서 사용하는 코드는 사용하지 못하기 때문에 예시 코드와 예시 내용으로 작성되는 포스팅입니다. 1. 문제 상황 설명 및 원인 파악 현재 제가 개발하고 있는 A라는 서비스에서 B라는 서비스를 호출하여 특정 맴버 값을 받아와야 하는 API라고 가정합시다. // A가 B에게 전달하려는 API Reqeust { memberSeq : Int, memberName : String, memberType : String } // A가 B에게 전달받은 API Response 값 { // Int memberSeq : 100112, // String memberName : "sg-moomin" ..

[Spring] Scheduling LockProvider 사용 목적과 사용 시 고려할 사항 정리

최근에 업무를 하다가 Scheduling 변경 사항이 존재하여 LockProivder에 대해 알아봤는데 내가 알아본 내용과 업무 시 고려해야 할 사항에 대해 간략하게 정리를 해보려고 한다. 1. LockProvider 사용 목적 및 의미 LockProvider를 사용하는 목적은 아래와 같다. - 스케줄러의 중복 실행 방지 - 실무에서 하나의 어플리케이션을 이중화 및 N중화를 한 경우가 대부분이다. 서버가 많으면 많을 수록 스케줄러의 Lock은 중요한 사항이 되며 이를 하지 않는 경우 어떤 서버가 배치를 처리해야 할 지 모르기 때문에 중복 실행이 될 수 있고 이는 큰 문제가 될 수 있다.(예를 들어 결제 시스템 새벽 배치인 경우 결제가 여러번 될 수 있다는 의미) - 따라서 순서와 관계 없이 1개의 서버가..

maven resources compiler : Maven Project Configuration for Module isn't~ 오류 해결하기

업무를 하다가 오랜만에 킨 프로젝트를 실행했더니 Maven 컴파일 오류가 떠서 오류 해결한 방법을 기록하려고 합니다. (요즘 포스팅을 못해서 쓸겸....그리고 나중에 내가 확인해야 할 사항이 될수 있기 때문...) 우선 프로젝트가 현재 메이븐 파일을 컴파일 못한다면 2가지 사항을 검토해봐야 한다. 1. 메이븐 설정이 정상적으로 되었는지 -> 나는 메이븐 설정과 conf 파일까지 매우 완벽하게 잘 설정되어 있었음으로 해당 문제는 X 2. 현재 프로젝트의 JDK/JRE 설정이 정상적으로 작동하는지? -> 내 생각에는 JDK 문제로 보였던게 메이븐에 알맞는 JDK로 빌드를 해야하는 케이스가 있는데 메이븐에서 요구하는 JDK 버전과 달라서 컴파일이 발생한 것으로 생각했다. 따라서 나의 처리 방안은 아래와 같다...

Java & Spring 이론 정리

현재는 준비를 하지 않으며 예전에 준비했을 때 정리했던 내용을 공유하려고 합니다. 우선 모든 내용은 다른 블로그들을 참조하여 기술 이론을 정리한 점 참고바랍니다. 또한 내용 중 틀린 내용이 존재할 수 있다는 점도 양해부탁드립니다. (추가)실제 기술 면접 봤을 때 질문했던 내용도 아래 정리하도록 하겠습니다. -> 빨간색 표시 1. Spring 스프링 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 개발 프레임 워크 2. 프레임워크 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램 뼈대가 되는 클래스, 인터페이스, 메서드 등을 미리 구현 중요한 이유는 프로젝트에 투입되는 개발자가 늘어남에 따라 전체 시스템의 통합성, 일관성이 부족하고 개발 스킬의 차이가 큰 경우 이해하기 힘든..