1. boolean 과 is prefix
- boolean 타입으로 클래스의 프로퍼티를 구성하는 경우, getter 메소드 생성에서 문제가 발생할 수 있다.
- 예를 들어,
isAuto
라는 이름의 프로퍼티를 생성하였을 경우, 자동으로 getter 메소드 생성(lombok 혹은 인텔리제이 사용)시 getter 메소드 명이isAuto
가 된다.- 이 경우, 프로퍼티명이 자동적으로
auto
라고 수정되는 문제점이 외부에서 발생할 수 있다.- 나의 경우, swagger 문서 연동시 request body에서 위 문제가 발생했다.
- 이 경우, 프로퍼티명이 자동적으로
해결방안
- getter 메소드 직접 생성
- Boolean wrapper 클래스 사용
- lombok 옵션 설정 (lombok.getter.noIsPrefix=true)
생각해보기
- 해결방안 중에 나는 2를 선택했다.
- JavaBeans Specification 에 따르면, boolean field의 getter method naming convention 이 is prefix를 붙이는 것이기 때문에 1, 3 방안은 썩 좋은 해결책은 아니라고 한다.
- 2번 방안도 단점이 존재한다. NPE 문제가 발생할 수 있다.(개인적으로 큰 문제인지 잘 모르겠다.)
참고 자료
- https://medium.com/@baejae/boolean%EC%97%90-is-%EB%B6%99%EC%9D%B4%EC%A7%80-%EB%A7%88%EC%84%B8%EC%9A%94-7b717246d942
- https://velog.io/@p0tat0_chip/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-boolean-is-prefix-%EB%AC%B8%EC%A0%9C
2. SpringBoot Test 의 default activeProfile
- 스프링부트 2.x 대에서 test를 수행하면 자동으로 activeProfile 이 test로 설정되었던 것으로 알고 있다.
- 그러나, 스프링부트 3.x 버전에서는 activeProfile이 자동으로 설정되지 않는 것 같다. 오늘 테스트 환경을 구성하면 확인했다.
- 버전에 따라 이런 저런 변경이 생기는 것은 이해가 되지만, test 코드에서는 자동으로 test profile로 잡아주면 좋지 않나? 하는 아쉬움이 생겼다.
'Today I...' 카테고리의 다른 글
[TIL]오늘의 노트 (0) | 2025.02.18 |
---|---|
오늘의 노트 (0) | 2025.02.16 |
[TIL]JPA Auditing (0) | 2025.02.13 |
[TIL]개발자에게 필요한 소프트 스킬에 대한 회고 (0) | 2025.02.12 |
[TIL]도커 네트워크 (0) | 2025.02.11 |