

1、在web的xml文件中配置监听器

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Bootstraps the root web application context before servlet initialization -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2、获取ioc容器

package com.hao.utils;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
/**
* 把Map中的值注入到对应的javaBean属性中
* @author shkstart
* @create 2021-05 11:08
*/
public class WebUtils {
// private static ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml");
public static <T>T getBean(Class<T> clazz){
WebApplicationContext ioc = ContextLoader.getCurrentWebApplicationContext();
return ioc.getBean(clazz);
}
public static <T> T copyParamToBean(Map value, T bean){
try {
BeanUtils.populate(bean,value);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return bean;
}
public static int parseInt(String strInt,int defaultValue){
try {
return Integer.parseInt(strInt);
} catch (Exception e) {
e.printStackTrace();
}
return defaultValue;
}
}