整合spring项目之 加载 Spring 配置文件的两种方式

在过滤器中实现

package com.beyond.nothing.filters;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter("/")
public class EncodingFilter implements Filter {
    
    

    private static Log log = LogFactory.getLog(EncodingFilter.class);

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    
    
        // 加载spring 配置文件
        new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        log.info("EncodingFilter init success !!");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
    

    }

    @Override
    public void destroy() {
    
    

        log.info("EncodingFilter destroy success !!");
    }
}

在web.xml 中通过 监听器实现加载

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

<!--  加载 上下文配置文件的第二种方式-->
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
  	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

</web-app>

猜你喜欢

转载自blog.csdn.net/Beyond_Nothing/article/details/112645246