6.10 새로운 Advice 타입 정의하기 by sh

6.10. 새로운 Advice 타입 정의하기

Advice : 대상 객체의 조인 포인트에 삽입되어져 동작할 수 있는 코드. (언제 공통 관심 기능을 로직에 적용할 지를 정의)

Spring AOP는 확장 가능하도록 설계되었습니다. 인터셉터 구현 전략은 현재 내부적으로 사용되지만 around advice, before, throws advice, after returning advice 유형을 지원할 수 있습니다.

인터셉터를 복수의 포인트 컷(복수의 조인포인트를 하나로 묶은 것)에 적용할 수 있다. https://devbox.tistory.com/entry/spring-AOP-용어-설명

org.springframework.aop.framework.adapter패키지는 코어 프레임 워크를 변경하지 않고 새로운 커스텀 advice 타입을 추가 할 수있게 해주는 SPI 패키지이다. 커스텀 Advice 타입에 대한 유일한 제약은 org.aopalliance.aop.Advice마커 인터페이스를 구현해야한다는 것입니다.

자세한 정보는 org.springframework.aop.framework.adapter javadoc을 참조하십시오.

[-[null-safety]] = Null-safety

A자바는 타입 시스템으로 null-safety를 표현할 수는 없지만, 이제 Spring 프레임 워크는 org.springframework.lang패키지에 다음과 같은 주석을 제공하여 API 및 필드의 null 가능성을 선언 할 수있게합니다.

  • @Nullable: 특정 매개 변수, 반환 값 또는 필드가 null일 수 있음을 나타내는 주석입니다.

  • @NonNull: 특정 매개 변수, 반환 값 또는 필드가 null일 수 없음을 나타내는 주석 (@NonNullApi

    @NonNullFields가 각각 적용되는 매개 변수 / 반환 값 및 필드에는 필요하지 않음).

  • @NonNullApi: null이 아닌 것을 매개 변수 및 반환 값의 기본 의미로 선언하는 패키지 수준의 주석입니다.

  • @NonNullFields: 필드의 디폴트 시멘틱스로서 null 이외를 선언하는 패키지 레벨의 주석.

Spring Framework 자체는 이러한 주석을 활용하지만, Spring 기반 Java 프로젝트에서 null-safe API 및 선택적으로 null-safe 필드를 선언하는 데에도 사용할 수 있습니다. 일반 유형 인수, varargs 및 배열 요소 Nullability는 아직 지원되지 않지만 향후 릴리스에 있어야합니다 (최신 정보는 SPR-15942 참조). Nullability 선언은 사소한 것을 포함하여 Spring Framework 릴리스 사이에서 미세 조정될 것으로 예상됩니다. 메소드 본문 내부에서 사용되는 유형의 Nullability는이 기능의 범위를 벗어납니다.

Reactor와 Spring Data와 같은 다른 일반적인 라이브러리는 유사한 null 허용 배열을 사용하는 null 안전한 API를 제공하여 Spring 애플리케이션 개발자에게 일관된 전반적인 환경을 제공합니다.

Last updated