[개요] 프로젝트를 진행하다 class 내에서 사용할 상수 문자열들을 관리할 때가 온다. 이들을 다른 언어에선 enum으로 의미를 갖는 집합을 만들어 사용하곤 했는데 자바에서는 귀찮은 부분이 있는 것 같다. 이를 다뤄본 후기를 적어본다. [본문] 1. private 필드 및 getter 사용하기 private enum Role { ADMIN("ADMIN"), // enum 은 내부에서 private 생성자를 호출하여 문자열을 초기화 한다. USER("USER"); private final String value; private Role(String value) { this.value = value; } public String getValue() { return value; } } 특정 class 내에서..
JAVA
개요 Bean으로 등록한 객체의 타입이 같지만 다른 이름일 때, 스프링 컨테이너 객체인 ApplicationContext는 타입으로만 Bean을 탐색하려 하면 어떻게 될까를 보기 위해 테스트를 진행했다. 이때 중첩 클래스를 사용하여 진행했고, 실행 중 오류를 맛보게 되었다. 어떤 문제가 있을까? 본문 다음은 내가 작성한 코드이다. // 변경 전 public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SameBeanConfig.class); @Test @DisplayName("타입으로 조회 시 같은 타입이 둘 이상 있으면, 중복 오류..