1. 程式人生 > >利用org.springframework.beans.factory.InitializingBean自動生成檔案目錄

利用org.springframework.beans.factory.InitializingBean自動生成檔案目錄

做專案時如果遇到檔案處理,經常會遇到檔案目錄不存在這個問題,因為它不是業務處理的核心部分,

起碼我是不想花時間去檢查目錄有沒有,需不需要我自己去建立?

但這個微小的事情又經常能讓程式報錯,每次自己去建立的話也覺得這些程式碼是冗餘的,影響程式核心業務閱讀性

最終我在專案中使用了spring的InitializingBean介面來做一些初始化操作

package org.springframework.beans.factory;
public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

為了增加閱讀性,並沒有直接實現這個介面 ,而是先繼承這個介面

/**
 * 檔案目錄初始化介面
 * @author wengjc
 *
 */
public interface FileInitIF extends InitializingBean {

}

接下來就可以寫一個目錄父類

/**
 * 建立檔案通用父類
 * @author wengjc
 *
 */
public class Dir implements FileInitIF {

   private static Logger log = Logger.getLogger(Dir.class);
@Override
public void afterPropertiesSet() throws 
Exception { Field[] fields = this.getClass().getFields(); for (int i = 0; i < fields.length; i++) { String path = null; try { path = (String) fields[i].get(this); if (null != path) { FileUtil.createDir(path); } } catch
(IllegalArgumentException e) { log.error(path+"建立檔案目錄失敗:"+e.getMessage()); } catch (IllegalAccessException e) { log.error(path+"建立檔案目錄失敗:"+e.getMessage()); } } } }
業務DIR繼承通用父類,並配置好目錄即可在spring factory初始化時完成自動建立,開發人員可以更專注於業務