当前位置: 代码迷 >> J2EE >> spring context多次加载解决办法
  详细解决方案

spring context多次加载解决办法

热度:26   发布时间:2016-04-17 23:10:53.0
spring context多次加载
最近想把权限的全部放在过滤器里先过滤,然后就用到了DelegatingFilterProxy,但是在配置的时候
日志里打印了
Root WebApplicationContext: initialization started
FrameworkServlet 'SpringServlet': initialization started
这两个东西,从而两次初始化了beans,是不是我的配置文件有重复,大伙儿帮忙看一下吧
web.xml如下

<servlet>
<servlet-name>SpringServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>DelegatingFilterProxy</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>securityFilter</param-value>
</init-param>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name></filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

spring里bean配置:
<bean id="securityFilter" class="net.thingswhisper.filter.SecurityFilter"></bean>



然后在工程启动的时候2次加载bean,是不是因为我在filter里声明了spring配置文件,然后spring servlet里也声明了的问题?
如何改这里? 求赐教!
------解决思路----------------------
把 SpringMVC 的配置放到 classpath 下,名字也不要叫 applicationContext.xml
  相关解决方案