国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在Spring程序中使用資源文件

2019-11-18 11:13:46
字體:
來源:轉載
供稿:網友

  在Web應用中假如自已的程序里面需要用到外部資源文件(配置文件),一般會把配置文件放在classes下面或WEB-INF下面。假如加載這結文件的話通常有兩種辦法。一是寫絕對路徑,這是最不推薦的方法。二是引入ServletContext,從相對路徑中獲得絕對路徑。寫相對路徑的時候使用ServletContext是免不了的,我的應用服務器是Tomcat,使用相對路徑找文件都是在Tomcat的Bin文件夾下面找,所以我只能用ServletContext來找。后來,為了使程序能脫離Servlet容器運行,就引入了SPRing的資源治理機制。

  Spring為資源治理提供了一個Resource接口,并提供了幾個Resource的實現。它們都需要一個String表示的資源的實際位置。依據這個String,Spring將會自動為你選擇正確的Resource實現。

  下面一段代碼,我為了得到一個資源的位置,定義了個屬性,一個是file代表文件的路徑(相對或絕對),一個是ResoUCe接口的屬性。在Spring的任何Context中都可以通過設置Resource的屬性來得到資源的位置。

private String file;
private Resource resource;

public void setResource(Resource resource) {
 this.resource = resource;
 try {
  this.file = resource.getFile().getAbsolutePath();
 } catch (IOException e) {
  e.printStackTrace();
  throw new RuntimeException(e.getMessage());
 }
}

public void setFile(String file) {
 this.file = file;
}

  Spring配置文件如下:

<bean id="mybean" class="net.jf.mybean">
<property name="resource">
<value>/WEB-INF/config.xml</value>
</property>
</bean>
  上面的例子是在WebapplicationAContext中的。Spring會根據Context的運行環境決定去哪里加載資源。假如是Application程序。即使用類似ClassPathXmlApplicationContext這樣的Context,Spring則會使用ClassPathSource來代表資源。將會在程序運行時的ClassPath中尋找資源。但要注重一點。Spring目前能找到的資源是在FileSystem中的。而不能找到Jar包里面的資源,就算你的資源的確在ClassPath當中。這一點在javaDoc里有說明。我又是在犯是同樣的錯誤后才想到去查找文檔....嘿。教訓啊。

  這些只是很粗淺的用法。記下來以備忘 ...假如有不正確或不妥當的地方還望指正

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清流县| 勐海县| 尼玛县| 厦门市| 招远市| 南康市| 武隆县| 故城县| 定州市| 锡林浩特市| 和平县| 平罗县| 盐边县| 永福县| 金寨县| 容城县| 罗田县| 资兴市| 东城区| 新乡县| 黄山市| 西安市| 阿鲁科尔沁旗| 富民县| 法库县| 克山县| 涡阳县| 商都县| 政和县| 萝北县| 温宿县| 长顺县| 永和县| 万山特区| 大港区| 林芝县| 杭锦后旗| 富民县| 汝城县| 鱼台县| 敦煌市|