2010-12-09 3 views
1

저는 Spring 3.0.5를 사용하고 있으며 @Aspect 스테레오 타입으로 주석을 달았지만 동시에 다른 aspect annotated 클래스를 포함하는 aspect 클래스를 어떻게 든 배제하는 것이 가능할지 궁금합니다. 당신이 주석 경로를 가고 있다면 나는 모든 것 또는 아무것도 아닌 것처럼 보입니다. 나는 그것을보고 있지만, 시도 할 수는 있지만, 이것에 대해 암시하는 것을 찾는 것처럼 보입니다.Spring AOP - 특정 측면을 제외 하시겠습니까?

이 이유는 애스펙트가 포함 된 중앙 코어 라이브러리가 있지만이 중앙 라이브러리를 사용하여 만드는 모든 프로젝트에 이러한 측면을 포함하고 싶지 않을 수 있기 때문입니다.

감사합니다.

답변

1

이 답변에 대한 긴 시간이다 ...

당신의 AspectJ 스프링 AOP와 주석이 아닌 AspectJ를 런타임 또는 컴파일 시간을 당신은 행운에있어 다음 직물을 사용하는 경우. Spring은 @Component와 같은 주석이 달린 경우 @Aspect 주석이 달린 클래스 만 선택합니다. Spring은 @Aspect를 컴포넌트 스캔의 후보로 간주하지 않습니다. XML 구성을 사용하는 경우 구성에서 해당 빈을 제거하기 만하면됩니다.

코어 라이브러리에 충돌하는 구성 요소 검색을 사용하지 않는 것이 좋습니다. 예를 들어 앱이 com.example.myapp1이고 핵심 라이브러리가 com.example.corelibrary. * 인 경우 * 구성 요소 검색이 com.example.myapp1을보고 com.example이 아닌 것을 확인하십시오.

아니요 정확한 이유 때문에 앱 기본 패키지 외부에서 구성 요소를 검사하는 것이 안전하지 않습니다. 빈에 대한 XML 구성을 사용하여 개별적인 측면을 끌어 당깁니다.

관련 문제