利用org.springframework.beans.factory.InitializingBean自动生成文件目录

在项目中处理文件时,为避免检查并创建文件目录的繁琐过程,可以利用Spring的InitializingBean接口进行初始化操作。通过继承该接口,可以在不干扰核心业务代码的情况下,优雅地处理文件目录的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做项目时如果遇到文件处理,经常会遇到文件目录不存在这个问题,因为它不是业务处理的核心部分,

起码我是不想花时间去检查目录有没有,需不需要我自己去创建?

但这个微小的事情又经常能让程序报错,每次自己去创建的话也觉得这些代码是冗余的,影响程序核心业务阅读性

最终我在项目中使用了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初始化时完成自动创建,开发人员可以更专注于业务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值