Это мой первый вопрос, поэтому, пожалуйста, будьте осторожны. :-) Я знаю, что AspectJ может создавать pointcut на статических инициализаторах java classes . Но вопрос в том, гарантированно ли статический инициализатор в аспекте, как показано ниже, будет вызываться ровно один раз:
@Aspect
public class MyAspect {
private static Map configuration;
static {
// Some initialization stuff
configuration = Config.getConfiguration();
}
... use the "configuration" map in pointcuts and advices
}
Другими словами, загружен ли аспект так же, как загружен класс Java? Это сделано через ClassLoader? Я предполагаю, да - и, похоже, это работает - но я ищу гарантию в этом направлении.