我有一个contextlistener,我将属性属性设置为ServletContext对象。在一个实现类中,我正在尝试获取该属性。但是servletcontext对象在这里返回null。这是我的代码
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.
}
}
如何在此处获取属性值