스프링 프레임워크 5에 추가된 기능
목적 : (툴의 지원으로) 컴파일 타임에 NullPointException을 미연에 방지
@
@NonNull
@Nullable
@NonNullApi (패키지 레벨 설정)
간단 예)
@NonNullApi
package me.jinmin;
import org.springframework.lang.NonNullApi;
@NonNullFields (패키지 레벨 설정)
간단 예제)
\main\java\me\jinmin\EventService
package me.jinmin;
import org.springframework.lang.NonNull;
public class EventService {
@NonNull
public String createEvent(@NonNull String name){
return "hellp" + name;
}
}
null을 반환하면 안되고 null을 파라미터로 받으면 안된다.\main\java\me\jinmin\AppRunner
package me.jinmin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@Component
public class AppRunner implements ApplicationRunner {
@Autowired
EventService eventService;
@Override
public void run(ApplicationArguments args) throws Exception {
eventService.createEvent(null);
}
}
eventService.createEvent(null); 줄에서 개발툴(IntelliJ)이 null에 오류를 감지해야한다. 하지만, 아무런 오류를 찾지 못한다.