
해당 포스트는 Spring.io의 공식 문서를 포함한 레퍼런스와 코드를 통해 Spring Framework의 구조 / 기술에 대해 확인해보고자 하는 포스트입니다.
널 안정성(Null Safety)은 객체 참조가 null 또는 무효 값을 갖지 않도록 하는 객체 지향 프로그래밍 언어 내에서 보장하는 것을 의미합니다.
java에서 가장 많이 발생하는 예외가 NPE(NullPointException) 이라는 말이 있을 정도로 가장 쉽게 발생하는 것이 Null 관련 예외이며 이에 대한 안정성을 확보하기 위해 java에서는 Optional을 제공하고 있고, Kotlin은 언어 자체적으로 널 안정성을 보장하고 있습니다.
스프링 프레임워크에서는 API 및 필드의 널 허용 여부를 선언할 수 있도록 어노테이션을 제공하고 있습니다.
스프링 프레임워크 자체는 타입 인수, 가변 인수 및 배열 요소에 대한 널 허용 여부 선언은 아직 지원되지 않지만 Reactor, Spring Data와 같은 공통 라이브러리는 널 허용 여부 배열을 사용하는 널 안정성 API를 제공하고 있습니다.
https://docs.spring.io/spring-framework/reference/core/null-safety.html