Я просмотрел уроки и отвечу здесь.Сообщение под методом log не печатается.
Среда IDE указывает, что путь для аннотации Wrapper является правильным при использовании метода журнала.Но это показывает, что мой метод регистрации никогда не используется.
(Используя Intellij Ultimate, предполагая, что он определит, что метод журнала используется, если Аспект настроен правильно).Добавлен скриншот моей файловой структуры, если это необходимо.
В настоящее время он печатает только сообщения общего метода.Это моя конфигурация?Пожалуйста посоветуй.Благодарю.
//main class
@SpringBootApplication
public class AspecttestApplication {
public static void main(String[] args) {
SpringApplication.run(AspecttestApplication.class, args);
SomeClass someClass = new SomeClass();
someClass.general();
}
}
//class to implement aspect
public class SomeClass {
@Wrapper(name = "GENERAL")
void general(){
System.out.println("general start ..");
System.out.println("general end ..");
}
}
//Aspect
@Aspect
@Component
public class MainHelper {
@Before("@annotation(Wrapper)")
void log(JoinPoint joinPoint){
System.out.println("log called from aspect");
}
}
//Config
@Configuration
@EnableAspectJAutoProxy
public class LogConfig {
//i don't have anything to config
//solely using this to EnableAspectJAutoProxy
}
//Annotation
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Wrapper {
String name() default "DEFAULT";
}
Снимок экрана для формата файла под ide