61.安心技术梳理 - SpringContextHolder 获取不到applicationContext

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)

各路大神帮忙看下,万分感谢。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值