Spring拦截器执行了两次
来源:互联网 发布:linux sleep 头文件 编辑:程序博客网 时间:2024/06/10 13:56
Spring拦截器执行了两次
今天在调试代码的时候,发现有个拦截器被执行了两次,很是奇怪,开始以为是即配置了注解的方式,同时又配置了xml配置文件造成的问题,可是仔细检查后并没有配置注解,只配置了xml文件。
还是采用老办法,在log4j.properties文件中加入如下一句话,打开Spring的日志级别为Info(如果还是看不到有用的调试信息,则把日志级别调整为DEBUG)
log4j.category.org.springframework=INFO, A1, A2
重新启动应用,可以看到后台输出很多以下的信息
INFO - Overriding bean definition for bean 'IScheduleService':xxx
INFO - Overriding bean definition for bean 'IScheduleService':xxx
……
把输入信息拷贝到editplus中,搜索执行了两次的beanId,可以看到该配置文件被“Overriding”了好几次,读下日志出的源代码,大致可以看到该bean已经被加载,后面的xml中又出现了同样Id的bean,确认应用的配置文件中只有一份这样BeanId的xml文件,所以大胆的猜测是不是同样的xmlbean被加载了两次呢?
找到加载xml的入口代码,我们是采用“ClassPathXmlApplicationContext”来加载配置文件的,其中的通配符如下:
publicstatic String[]XMLFILES =new String[] {
"classpath*:trsconfig/**/*beans.xml","classpath*:**/*beans.xml",
"/trsconfig/domain/com.trs.enable.aop/enabledAopAnnotation.xml"
红色部分的通配符会出现加载同样xml的问题,注视掉前面部分的通配符,重新启动应用,拦截器只会执行一次了。
- Spring拦截器执行了两次
- IsPostBack执行了两次
- Spring Action 执行两次
- spring 定时器执行两次
- spring aop 执行两次
- spring quartz执行两次
- spring Scheduled 执行两次
- setOnCheckedChangeListener为什么执行了两次
- Spring task 执行两次解决方法
- spring 定时任务执行两次
- spring 定时任务执行两次
- ajax执行后台方法执行了两次
- Spring jdbcTemplate执行两次SQL查询后报错
- spring+quartz定时任务执行两次
- spring 定时任务执行两次解决办法
- spring 定时任务执行两次解决办法
- spring定时任务quartz执行两次
- Spring @Scheduled 执行两次 问题总结
- 虚拟键码
- Add a New Module
- java.io.IOException: Cannot run program "mvn":
- Android 自动滚动的GridView
- 《匆匆那年》-第八卷 分开
- Spring拦截器执行了两次
- 全屏
- web 服务器有哪些
- ASP静态化后,静态html页面点击计数解决方法
- Activity传递对象时的注意事项
- JAVA Date 类型 操作
- BugFix系列<OpenStack>----HttpURLConnection 500内部服务器错误的解决以及思考
- Android进阶之强大的批处理功能
- 《匆匆那年》-第九卷 匆匆