首页 > 编程知识 正文

springmvc拦截get请求,java拦截器使用详解

时间:2023-05-06 12:11:53 阅读:176456 作者:4403

今天调试代码时,我注意到某个拦截器执行了两次。 很奇怪。 我开始觉得这是在放置注释的同时放置xml配置文件引起的问题,但仔细调查后发现没有放置注释,只是放置了xml文件。

还是用旧的方法,在log4j.properties文件中输入以下语句,使Spring的日志级别为Info。 (如果仍然找不到有用的调试信息,请将日志级别调整为调试。 )

log4j.category.org.spring framework=info,A1,A2

重新启动APP后,可以看到后台输出了很多以下信息

info-overridingbeandefinitionforbean ' ischeduleservice ' : XXX

info-overridingbeandefinitionforbean ' ischeduleservice ' : XXX

……

如果将输入信息复制到editplus中,然后搜索执行了两次的beanId,则可以看到该配置文件被“OverrIding”了多次。 通过阅读日志中的源代码,您可以看到大致上已加载了该bean。 以下xml将显示具有相同id的bean,并确保APP应用程序的配置文件中只有一个具有此类beanId的xml文件

找到了用于加载xml的条目代码。 我们使用ClassPathXmlApplicationContext加载了配置文件。 通配符如下所示。

公共静态字符串[ ] xmlfiles=new string [ ] {

' class path * : TRS config/* */* beans.XML ',' classpath*:**/*beans.xml ',

'/TRS config/domain/com.TRS.enable.AOP/enabledaopannotation.XML '

红色部分的通配符会出现加载相同xml的问题。 如果在关注前一部分的通配符的情况下重新启动APP,拦截程序将只运行一次。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。