2011-11-29 5 views
3

저는 봄에 건축 된 기존 프로젝트가 있습니다.스프링 AOP와 aspectj 컴파일러를 섞어서 사용합니까?

나는 HibernateTemplate.save()에 대한 호출을 잡아서 exec (save())에 pointcut을 정의하고 around advice에 시간을 기록한다.

스프링 AOP를 사용하여 aspect를 정의 할 수 있지만, Spring AOP는 pointcut의 객체가 bean 인 경우에만 작동하지만, 내 경우에는 HibernateTemplate을 new()로 기존의 클라이언트 코드.

그래서 aspectp 컴파일러를 사용하여 메이븐 플러그인을 사용해야합니다. 봄 AOP와 aspectj를 섞을 때 잠재적 인 충돌이 있는지 궁금합니다. ----이 프로젝트의 이전 개발자는 이미 내가 normaly 내 모든 봄 애플리케이션에 AspectJ를 대신 봄 - 프록시 AOP를 사용하는 스프링 AOP 어딘가에

감사 양

답변

1

을 사용하고 있습니다. 이렇게하려면 스프링 구성을 설정해야하며 주로 mode="AspectJ"과 같이 설정해야합니다. 일단이 설정 중 일부분을 잊어 버리면, 애플리케이션이 AspectJ를 다른 aspect와 Spring-Proxy-AOP 용으로 사용했다는 것을 의미한다. 예는 애플리케이션이 올바르게 작동했다는 것을 제외하고는 (pring-Proxy- AOP).

내 관점에서 볼 때 : 충분한 테스트 케이스가있는 경우 시도해보십시오.

0

정상적으로 작동합니다. 나는 그것을 여러 번 해왔다. 저는 Spring AOP로 시작합니다. 왜냐하면 Spring AOP가 제공하지 않는 기능이 필요할 경우에만 AspectJ를 사용하기 시작합니다.

나의 유일한 팁은 가능한 한 많이 @AspectJ 스타일을 사용하는 것입니다. 따라서 사소한 구성 변경으로 쉽게 변경할 수 있습니다.

당신이 주석 스타일을 처음 사용하는 경우, 당신은 에스 펜 베른 센의 블로그에 대한 자세한 정보를 찾을 수 있습니다, @AspectJ cheat sheet

관련 문제