Spring - Null-Safety


Null관련 어노테이션

  • NullPointException이 발생하는 것을 방지하기 위해 Spring Framework 5 버전부터 이를 방지하는 어노테이션을 지원하고 있다.
    • @NonNull
    • @Nullable
    • @NonNullApi(패키지 레벨)
    • @NonNullFields(패키지 레벨)

@NonNull, NotNull

  • 필드 값, 반환 값에 null을 허용하지 않는 어노테이션.
  • compile측에서 해당 어노테이션이 붙어있는 값에 null을 넣으려는 시도를 발견한 경우 에러를 알린다.
1
2
3
4
5
@NotNull
public String createEvent(@NonNull String name) {
//NotNull 어노테이션에 의해 미리 에러가 발생한다.
return null;
}

@Nullable

  • null을 허용하는 어노테이션
  • 메소드가 null을 허용하는지를 어노테이션으로 표현할 수 있다.
1
2
3
4
@Nullable
public String createEvent(String name) {
return name;
}

Eclipse 환경에서 Null 어노테이션 설정하기

  • @NonNull, @Nullable 어노테이션을 사용하기 위해서는 어노테이션을 설정해주어야한다.
  • Properties > Java Compiler > Errors/Warnings > Use default annotations for null specifications의 Configure 클릭 > Nullable 어노테이션, NonNull 어노테이션 등록

댓글