web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/applicationContext.xml/</param-value>
</context-param>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<bean id="springContextHolder" class="com.joethina.common.SpringContextHolder"/>
</beans>
SpringContextHolder.java
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class SpringContextHolder implements ApplicationContextAware{
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContextHolder.applicationContext = applicationContext;
}
@SuppressWarnings("unchecked")
public static <T> T getBean(String name) {
return (T)applicationContext.getBean(name);
}
public static <T> T getBean(Class<T> requireType) {
return (T)applicationContext.getBean(requireType);
}
public static ApplicationContext getApplicationContext() {
return SpringContextHolder.applicationContext;
}
}
获取applicationContext的测试类
import org.springframework.context.ApplicationContext;
import com.joethina.common.SpringContextHolder;
public class Test1 {
public static void main(String[] args) {
//Object bean = SpringContextHolder.getBean("sss");
ApplicationContext applicationContext = SpringContextHolder.getApplicationContext();
System.out.println(applicationContext);
}
}
报错如下:
null
Exception in thread "main" java.lang.NullPointerException
at com.joethina.common.SpringContextHolder.getBean(SpringContextHolder.java:18)
at com.joethina.test.Test1.main(Test1.java:12)
各路大神帮忙看下,万分感谢。。