enum 활용 2

(java) Enum field에 Enum List를 사용하며 발생한 코드 리팩토링

enum field에서 enum list를 사용하면서 코드가 리팩토링 되는 과정을 정리하였습니다. 리팩토링(Refactoring)이라는 다소 고급진 단어를 사용하였지만, 상당히 간단한 코드 개선 내용임을 미리 말씀드립니다. (마지막에는 리팩토링에 따른 속도 차이가 비교되어 있으니 참고 부탁드리겠습니다.) Enum Class public enum Status { READY, PROCESSING, CANCEL, TERMINATE, DONE; } (Status Enum Class) public enum ViewStatus { PROCESSING, DONE; } (ViewStatus Enum Class) 예시로 사용될 두 개의 enum class입니다. 어떤 Entity에서 내부적으로 사용되는 실제 상태 값은 ..

Programming/Java 2023.01.13

Java Enum 활용하기2 - ConverterFactory

Java Enum을 활용한 방법 중 두 번째, ConverterFactory 인터페이스를 구현한 CustomConverter를 만들어 HTTP 요청에서 Enum 값을 받을 때 Enum 값 자체를 받는 것이 아니라 legacyCode를 받아 자동으로 Enum으로 형 변환하는 방법입니다. @GetMapping("/user/{idx}") public ResponseEntity getUserDetail(@PathVariable Long idx) { ... } 스프링에서 HTTP Query String을 통해 전달되는 정보는 모두 문자열(String)로 인식됩니다. (HTTP 요청 파라미터는 모두 문자열로 처리) 하지만 위 예시와 같이 컨트롤러에서 Long (또는 Integer, boolean Enum 등)으로 ..

Programming/Java 2022.10.08