Ok, I'm a little late but I think I found a solution. Simply ask the applicationContext:
Code:
@Aspect
public class SecurityAspect implements ApplicationContextAware {
private ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.applicationContext = applicationContext;
}
@Around("execution(* *.*(..))")
public Object secure(ProceedingJoinPoint proceedingJoinPoint)
throws Throwable {
String[] beanNames = applicationContext.getBeanNamesForType(proceedingJoinPoint
.getSignature().getDeclaringType(), false, false);
...
return proceedingJoinPoint.proceed();
}
}