목록enum (2)
잡동사니
안녕하세요. yeTi입니다. 오늘은 Java 의 Enum 을 지역 변수처럼 사용하려고 시도하면서 겪은 현상을 공유하고자 합니다. 현상 다음 테스트 코드와 같이 enum 을 여러 곳에서 지역 변수로 할당받아 Enum의 내부 변수(message)를 변경하는 작업을 수행했더니 의도와는 다르게 message 의 값이 이전 값을 계속 유지하는 버그가 나타났습니다. class EnumTest { @Test void constructor() { EnumType responseType1 = EnumType.INTERNAL_SERVER_ERROR; responseType1.changeMessage("yeti"); EnumType responseType2 = EnumType.INTERNAL_SERVER_ERROR; res..
안녕하세요. yeTi입니다. 오늘은 Spring Framework으로 http request를 처리할때 request string을 enum으로 바인딩하는 방법을 보면서 Spring에서 제공하는 바인딩 서비스들을 확인해보겠습니다. 이전에 작성한 스프링 추전 강좌, 스프링 프레임워크 핵심 기술 내용 정리 및 후기 에도 관련 내용이 있습니다. Converter 활용 Spring 에서는 모델을 바인딩하기 위해 Converter interface를 제공합니다. 그리고 http request가 들어오면 각 컨트롤러들은 BindingInitializer에 등록된 converter 들을 가지고 string 을 모델로 변환해줍니다. 이를 활용하여 http get 요청시 Path variable와 Request para..