5.5.2 Pointcut 선언 by sh
5.5.2. Pointcut 선언
<aop:config>
요소 내에 명명 된 pointcut을 선언하여 포인트 컷 정의를 여러 aspect와 advisor에 공유 할 수 있습니다.
서비스 계층에서 비즈니스 서비스의 실행을 나타내는 포인트 컷은 다음과 같이 정의 할 수 있습니다.
pointcut 표현식 자체는 @AspectJ support에 설명 된 것과 동일한 AspectJ pointcut 표현식 언어를 사용한다. 스키마 기반 선언 스타일을 사용하는 경우 pointcut 표현식에서 유형 (@Aspects)에 정의 된 명명 된 pointcuts를 참조 할 수 있습니다. 위의 pointcut을 정의하는 또 다른 방법은 다음과 같습니다.
Sharing Common Pointcut Definitions에 설명 된대로 SystemArchitecture
aspect가 있다고 가정합니다.
그런 다음 aspect 안에서 pointcut을 선언하는 것은 top-level pointcut을 선언하는 것과 매우 유사합니다.
@AspectJ aspect와 같은 방식으로, 스키마 기반 정의 스타일을 사용하여 선언 된 pointcuts는 join point 컨텍스트를 수집 할 수있습니다. 예를 들어 다음 pointcut은이 객체를 join point 컨텍스트로 수집하여 advice에 전달합니다.
다음과 같이 일치하는 이름의 매개 변수를 포함하여 수집 된 조인 포인트 컨텍스트를 수신하도록 advice를 선언해야합니다.
포인트 컷 하위 표현식을 결합 할 때 &&
는 XML 문서 내에서 어색하기 때문에 &&
, ||
및!
대신에 and
, or
및 not
키워드를 각각 사용할 수 있습니다. 예를 들어, 이전의 pointcut은 다음과 같이 작성할 수 있습니다.
이 방법으로 정의 된 pointcut는 XML id
에 의해 참조되며, pointcuts라는 이름의 pointcut으로 사용되어 복합 pointcuts를 형성 할 수 없다. 따라서 스키마 기반 정의 스타일의 명명 된 pointcut 지원은 @AspectJ 스타일이 제공하는 것보다 더 제한적입니다.
Last updated
Was this helpful?