본문 바로가기
Back/Spring

[Spring] Null Safety

by Inventer 2022. 2. 8.

객체에 Null을 담지 않도록 하자. 담아도 되는데 그 객체는 다시한번 쳐다보자.

제임스 고슬링 아저씨의 10억불짜리 실수인 Null은 항상 체크해야한다.

위 코드에서 만약 request가 null이면 NPE가 뜬다.

 

1. @NonNull Annotation

이거쓰면 위처럼 if문 걸어서 예외처리 안해도 된다.

 

NonNull Annotation은 3군데 붙을 수 있는데 아래와 같다.

 

1. 파라미터에 NonNull Annotation을 줬기에 메서드 호출 시점에 Exception이 처리된다.

따라서 아래 if문은 없어도 된다.

<Fig 1> Parameter Annotation

 

2. 프로퍼티에 NonNull이 있다. 이 프로퍼티는 Null이 될 수 없는 프로퍼티가 된 것이다.

<Fig 2> Property Annotation

3. Method는 NonNull이기에 Null을 리턴할 수 없다.

<Fig 3> Method Annotation

2. @Nullable Annotation

자바에선 primitive한 타입이 아니면 전부 NULL을 담을 수 있다. 따라서 전부 Nullable한 것이다.

항상 Null Check를 수행하도록 경고할 수 있는 어노테이션이다.

<Fig 4> Nullable Annotation


https://fastcampus.co.kr/dev_online_spring

 

한 번에 끝내는 Spring 완.전.판 초격차 패키지 Online. | 패스트캠퍼스

Spring의 30가지 연관 스택을 7가지 예제, 그리고 현업 프로세스와 동일하게 진행되는 4가지 프로젝트를 통해 완전 정복할 수 있는 강의! 어렵게만 느껴졌던 Spring, 업계 선호도 1위 현업 개발자가

fastcampus.co.kr

 

'Back > Spring' 카테고리의 다른 글

Spring Web Layer(Dto?, Dao?)  (0) 2022.03.28
테스트코드  (0) 2022.03.14
[Spring] SpEL(Spring Expression Language)  (0) 2022.02.08
[Spring] Resource  (0) 2022.02.08
[Spring] Validation, Data Binding  (0) 2022.02.08

댓글