Spring Service Implementation类中的ServletContext对象为null

时间:2017-10-31 09:32:09

标签: java spring servlets servletcontextlistener

我有一个contextlistener,我将属性属性设置为ServletContext对象。在一个实现类中,我正在尝试获取该属性。但是servletcontext对象在这里返回null。这是我的代码

ContextListener

public class LoadProperties implements ServletContextListener {

private static Properties properties = null;
private static Logger logger = Logger.getLogger(LoadProperties.class);  

@Override
public void contextDestroyed(ServletContextEvent arg0) { }

@Override
public void contextInitialized(ServletContextEvent event) {

    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream input = classLoader.getResourceAsStream("db.properties");
    properties = new Properties();
    try {
        properties.load(input);
    } catch (IOException e) {
        logger.error(e);
    }       
    ServletContext ctx=event.getServletContext();  
    ctx.setAttribute("properties", properties);   --> ctx has values now
}
}

Impl class

-

@Component
public class BBServiceImpl implements BBService{

    private static Properties properties = null;
    @Autowired
    ServletContext ctx;

     public BBServiceImpl () {
          properties =(Properties) ctx.getAttribute("properties"); --> ctx is null here. 
     }
}

如何在此处获取属性值

0 个答案:

没有答案