2011-12-12 46 views
4

我試圖使用Spring加載應用程序的WEB-INF文件夾下的配置文件。使用Spring從WEB-INF文件夾加載文件

我嘗試使用

private @Autowired ServletContext servletContext; 

然後

servletContext.getResourceAsStream("/WEB-INF/" + fileNm); 

但ServletContext中被返回爲空。

我在做什麼錯了?

我的方法是這樣的

public static SqlSessionFactory getSqlSessionFactory() { 
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(myConnObj.getIpStream("mybatis-config.xml")); 
} 

private InputStream getIpStream(String fileNm){ 
    InputStream inputStream = null; 
    try{ 
     inputStream = servletContext.getResourceAsStream("/WEB-INF/" + fileNm); 
    } catch(Exception ex) { 
     ex.printStackTrace(); 
    } 
    return inputStream; 
} 
+0

包含「ServletContext」對象的類是Spring管理bean嗎?意思是說,它是否有'@ Component'(或'@ Controller','@ Service'等等)anontation? –

+0

是的,我已經添加了@ @ Controller'註釋 – Vivek

回答

4

如果你試圖實現類ServletContextAware這將使它覆蓋:

@Override 
    public void setServletContext(ServletContext servletContext) { 
     this.servletContext=servletContext; 
    } 

,這將給你ServletContext的?

+0

是的...這個確定工作..謝謝! – Vivek