spring 5버전에 추가된 어노테이션
Tool(IntelliJ)의 지원을 받아 컴파일 타임에 최대한 Null point exception을 방지하기 위한 것이다.
Null을 허용하는지 허용하지 않는지 어노테이션으로 나타낸다.
tip) intelliJ에서 runtime assertion을 추가해주면, @NonNull을 사용했을 때, warning을 확인할수 있다.
Preferences로 들어가서
Build, Execution, Deployment 의 compiler에서 Configure annotations를 클릭한다.
spring관련 어노테이션이 포함되어 있지 않기 때문에 추가해주어야한다.
먼저 Nullable을 추가해준다.
그 후, NonNull을 추가해주고 프로젝트를 재실행해주면
NonNull을 사용한 메서드에 null값을 넘기려고하면 warning이 발생함을 볼 수 있다.
패키지 레벨로 NonNull을 설정해줄수도 있다.
이렇게하면, 해당 패키지 내의 모든 파라미터에 NonNull을 적용하는 것과 마찬가지의 효과이다. 이렇게하고, Null을 허용하고 싶은 곳에만, @Nullable을 붙여줘도된다.