다음과 같은 작업을 수행 할 수 있습니까? AOP 주석을 사용하여 봄에 코드를 삽입 할 수 있습니까?
public void doStuff(@RequirePrivilege("foo") User user) {
// ...
}
다음과 같이 효과적으로 실행합니까?
public void doStuff(User user) {
if(!user.hasPrivilege("foo"))
throw new UserHasInsufficientPrivileges(); // this is a RuntimeException
// ...
}
스프링에는 다양한 종류의 AOP 지원이 있지만 가장 좋은 점은 주석을 달아 AOP 코드가 특정 메서드 앞이나 뒤에 실행된다는 것입니다. 나는 inverse를 수행하고 변경되어야하는 코드에 주석을 달고 싶다.
궁극적으로 위의 검사를 메소드 내에서 수행 할 수 있지만 주석을 사용하는 방법은 사용자가 코드와 동기화 된 문서를 보관하지 않고도 특정 권한을 필요로한다는 것을 분명히하는 추가 문서를 제공합니다.