2009-10-13 6 views
2

안녕하세요 저는 AspectJ를 처음 사용하고 있습니다. Aspects를 사용하여 클래스의 변형을 만드는 경우 알아보고 싶습니다. 클래스의 다른 인스턴스도 만들 계획입니까?AspectJ problem

+0

이 질문은 매우 불분명합니다. 다시 말씀해 주시겠습니까? 더 자세히 설명해주십시오. –

답변

1

저는 aspect를 추가하면 새로운 클래스가 만들어 질 것이라고 생각합니다.

컴파일이나 실행시에 AspectJ를 사용하여 위빙이 변경되면, aspect에 의해 영향을받는 클래스에 변경 사항이 추가되어 새로운 클래스가 생성되지 않고 그냥 원래 클래스와 최종 클래스의 바이트 코드가 다른 것입니다.

0

변형으로 무엇을 의미합니까? AspectJ가 클래스의 복사본을 생성하는지 묻는다면 대답은 아니요입니다. AspectJ는 proxy이라는 디자인 패턴을 사용하여 클래스 호출을 가로 챈다.

+0

Spring AOP는 프록시를 사용합니다. AspectJ는 변경 사항을 짜는 중 또는 컴파일의 일부로 바이트 코드를 수정합니다. –