为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot方面在我的API中不起作用

Spring Boot方面在我的API中不起作用

波斯汪 2021-05-04 10:45:43
我试图为我的Spring Boot API做一个Logging方面,以便每次请求到服务器时,所有内容都记录到一个文件中。但是,我无法激发自己的方面。我究竟做错了什么?这是方面@Aspect@Componentpublic class Logging {private Logger log;@Before("execution(* com.package.TeamController.*(..))")public void before(JoinPoint joinPoint){    log = Logger.getLogger(joinPoint.getClass());    log.info("Starting request " + joinPoint.getSourceLocation());    if(joinPoint.getArgs()!=null){        log.info(" Arguments are");        for(Object obj : joinPoint.getArgs()){            log.info(obj.getClass().getName() );        }    }}}应用程序入口点是@SpringBootApplication(scanBasePackages =           {"com.package", "com.aspect"})@EnableJpaRepositoriespublic class Application {    public static void main(String[] args) {     SpringApplication.run(Application.class, args);    }}我的application.properties文件有这一行spring.aop.auto=true我究竟做错了什么?当调用TeamController中的方法时,为何方面不记录日志信息?注意 团队控制器方法是通过GET请求调用的NOTE2 Intelij Ide有一个可视化工具,可导航到建议的方法,当我查找它时,它向我显示了控制器方法,但是该建议仍然无法正常工作
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

找到了问题。第一次创建文件时,Intelij建议制作一个方面而不是一个Java类,从而制作了Logging.aj文件并创建了

public aspect Logging{}

当我将Aspect关键字重命名为class关键字时,文件仍然是.aj类型。我将其重命名为.java,现在可以正常使用了。


查看完整回答
反对 回复 2021-05-19
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信