(아마도 AOP 또는 주석을 사용하여) 기존 기능을 확장 할 수있는 가장 좋은 방법은 무엇입니까? 내가 찾고있는 시나리오가 있습니다.AOP 또는 주석을 사용하여 서비스 기능 확장하기
우리는 하나의 서비스가 일부 유효성 검사를 수행 한 다음 Employee에 대한 액세스를 비활성화하는 Employee 엔티티를 사용하는 DisableEmployee라고 말합니다. 특정 고객의 경우 DisableEmployee가 액세스를 비활성화 할뿐만 아니라 페널티 포인트를 부과하는이 기능을 확장하고자합니다.
한 가지 방법은 기본 클래스를 확장 한 다음 추가 기능을 추가하는 것입니다.
여기에서 AOP 및 주석을 사용하는 것이 가능합니까 (또는 권장 할 만합니까). 어디에서 내 DisableEmployee 주석을 달고 컴파일 시간에 클래스에 추가 코드를 짜 넣습니다. (aspect 사용) 저는 APT와 Velocity에 대해 읽었습니다. 우리가 엔티티 클래스를 확장해야 할 수도 있기 때문에 APT를보고있는 이유는 새로운 속성을 추가하기 위해서입니다.
Constantiner가 추가 한 "aspectj"태그가 있습니다. 논리적으로이 추가는 올바르지 않습니다. 왜냐하면 AspectJ는 많은 다른 것들 중에서 AOP 구현 일 뿐이 기 때문입니다. 그러나 실질적으로 나는 그의 선택에 동의한다 (나의 대답을 보라). – alehro