2008-11-28 3 views

답변

6

JBossAOP과 AspectJ는 AOP를 위해 일반적으로 사용되는 두 가지 성숙한 프레임 워크입니다. 또 다른 인기있는 선택은 Spring AOP이지만 다른 두 기능의 일부 기능이 부족합니다.

JBossAOP와 AspectJ는 모두 비슷한 기능을 가지고 있습니다. 하나의 큰 차이점은 AspectJ는 Java 언어의 확장에 의존한다는 점입니다. 반면 JBoss AOP는 그렇지 않습니다.

AOP 요구 사항이 매우 간단하면 ASM과 같은 바이트 코드 조작 라이브러리를 고려해 볼 가치가 있습니다. 저는 ASM을 사용하여 간단한 'around-advice'(즉, 메소드 호출 전후에 삽입 된 코드)를 구현했으며, JBossAOP에 대한보다 가벼운 대안으로 입증되었습니다. ASM은 깨끗하게 설계되고 잘 문서화되어 있습니다.

+0

Ok! 감사합니다. JBoss AOP를 조사해야합니다. – Bleadof

3

나는 AspectJ라고 말할 것이다. 내가 아는 한 IDE 부분은 부족하지만 문서와 표현력은 내가 본 AOP 프레임 워크 중 최고입니다.

+1

브릴리언트! Eclipse IDE의 일부로 AspectJ를 보았습니다. 그래서 적어도 툴링에 대한 지원이 가능하다고 생각합니다. – Bleadof

2

이미 스프링을 사용중인 경우 관리 대상 객체는 이미 AOP support입니다. AspectJ만큼 유연하지는 않지만 AspectJ가하는 사전 컴파일 단계가 필요 없다.

0

Spring AOP 지원 관련. 기본적으로 Spring 관리 객체에만 관련이 있으며 AspectJ를 기반으로하는 AFAIK입니다.

아직 직접 확인하지는 않았지만 AOP와 다른 객체 (예 : Tomcat에서로드 시간 짜기)를 사용할 수있는 것처럼 보입니다. 세부 사항은 here입니다. 스프링

관련 문제