본문 바로가기
Today I...

[TIL] 오늘 알게된 것

by seeker00 2025. 2. 14.

1. boolean 과 is prefix

  • boolean 타입으로 클래스의 프로퍼티를 구성하는 경우, getter 메소드 생성에서 문제가 발생할 수 있다.
  • 예를 들어, isAuto 라는 이름의 프로퍼티를 생성하였을 경우, 자동으로 getter 메소드 생성(lombok 혹은 인텔리제이 사용)시 getter 메소드 명이 isAuto 가 된다.
    • 이 경우, 프로퍼티명이 자동적으로 auto라고 수정되는 문제점이 외부에서 발생할 수 있다.
      • 나의 경우, swagger 문서 연동시 request body에서 위 문제가 발생했다.

해결방안

  1. getter 메소드 직접 생성
  2. Boolean wrapper 클래스 사용
  3. lombok 옵션 설정 (lombok.getter.noIsPrefix=true)

생각해보기

  • 해결방안 중에 나는 2를 선택했다.
  • JavaBeans Specification 에 따르면, boolean field의 getter method naming convention 이 is prefix를 붙이는 것이기 때문에 1, 3 방안은 썩 좋은 해결책은 아니라고 한다.
    • 2번 방안도 단점이 존재한다. NPE 문제가 발생할 수 있다.(개인적으로 큰 문제인지 잘 모르겠다.)

참고 자료

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