gpt4 book ai didi

java - @EnableAspectJAutoProxy 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:20 50 4
gpt4 key购买 nike

我正在使用 Spring Boot,我想将 AspectJ 与它一起使用。

以下作品(当然):

@Aspect@Componentpublic class RequestMappingAspect {    @Before("@annotation(org.springframework.web.bind.annotation.RequestMapping)")    public void advice(JoinPoint joinPoint) {        ...    }}

但是,如果 @Component 被移除并且 @EnableAspectJAutoProxy已添加,以下内容不起作用。

@SpringBootApplication@EnableSwagger2@EnableAspectJAutoProxypublic class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

如何正确开启AspectJ自动代理?

最佳答案

想知道同样的事情,我们最终做了类似的事情:

@EnableAspectJAutoProxy(proxyTargetClass = true)
@Configuration("Main applicationContext")
@ComponentScan(
basePackages = {"com.where.ever"},
excludeFilters = {@ComponentScan.Filter(Aspect.class)})
public class ApplicationConfiguration {
@Bean(autowire = Autowire.BY_TYPE)
public SomeAspect someAspect() {
return Aspects.aspectOf(SomeAspect.class);
}
...
...
}

这使我们能够在方面上添加 @Aspect 注释,这也正确地连接了它们。可能这是一个毫无意义的回复,但是,它解释了我们如何解决问题 - 而不是问题的实际解决方案。如果您要删除此内容,请告诉我。

关于java - @EnableAspectJAutoProxy 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41802391/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com