개발 기록
Not annotated parameter overrides @NonNullApi parameter 본문
jwt 검증 필터를 구현하던 중에 저렇게 노란 줄이 떴다.
오버라이딩 메서드가 애너테이션으로 명시되지 않은 경우
슈퍼클래스의 메서드에 @NotNull 또는 @Nullable 애너테이션이 지정되어 있는데,
이를 서브클래스의 오버라이딩 메서드에서 반복하지 않으면 발생하는 문제
OncePerRequestFilter와 @NonNullApi
Spring Web에서 OncePerRequestFilter는 org.springframework.web.filter 패키지에 위치.
이 패키지에는 @NonNullApi가 패키지 수준에서 적용되어 있었다. 그래서 서브 클래스에도 적용시키라는 뜻이였다.
// org.springframework.web.filter.package-info
@NonNullApi
@NonNullFields
package org.springframework.web.filter;
import org.springframework.lang.NonNullApi;
import org.springframework.lang.NonNullFields;
패키지 수준에 어노테이션을 적용시키기 위해서는 해당 패키지 내에 package-info.java 를 생성하면 된다.
@NonNullApi
package com.practice.filter;
import org.springframework.lang.NonNullApi;
출처
https://stackoverflow.com/questions/72285740/not-annotated-parameter-overrides-nonnullapi-parameter
Not annotated parameter overrides @NonNullApi parameter
I've been looking around other questions and I still don't understand what's going on here. I have this class: package com.test.service.database.converter; import com.test.service.database.dao.
stackoverflow.com
https://yeongunheo.tistory.com/entry/package-infojava%EB%9E%80
package-info.java란
서론 팀 내 코드리뷰를 하다 패키지에 package-info.java 파일이 존재한다는 사실을 알게 되었습니다. package-info.java가 무엇인지 잘 몰랐기에 이번 기회에 알아보고자 합니다. package-info.java란 package-inf
yeongunheo.tistory.com
'TIL' 카테고리의 다른 글
One or more listeners failed to start. (1) | 2024.03.15 |
---|---|
docker 컨테이너 ip 확인 (0) | 2024.03.15 |
quartz job parameters processor에서 사용 (1) | 2024.02.22 |
mongoDB object 검색 (0) | 2024.02.14 |
Cannot change the ExecutorType when there is an existing transaction (0) | 2024.02.13 |