Я использую Spring Boot, и я хотел бы использовать AspectJ с ним.@EnableAspectJAutoProxy не работает
следующие работы (конечно):
@Aspect @Component public class RequestMappingAspect { @Before("@annotation(org.springframework.web.bind.annotation.RequestMapping)") public void advice(JoinPoint joinPoint) { ... } }
Однако, если @Component
удаляется и @EnableAspectJAutoProxy
добавляется следующее не работает.
@SpringBootApplication @EnableSwagger2 @EnableAspectJAutoProxy public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Как правильно включить прокси-сервер AspectJ?
С '@ EnableAspectJAutoProxy' вы не используете AspectJ, а на основе прокси-сервера Spring AOP. Но, возможно, это то, чего вы хотите в любом случае. – kriegaex
Конечно, это не сработает ... Я удаляю '@ Component', не будет создан экземпляр аспект, поэтому нет доступных аспектов, поэтому ничего не использовать. Вам нужно как '@ Component', так и' @ Aspect', чтобы заставить его работать (или определить аспект как метод '@ Bean'). В любом случае, экземпляр аспекта должен быть там, чтобы заставить его работать. –