spring加载多个bean配置文件案例

本文介绍了一个自定义的Spring Bean工厂实现,该工厂通过ClassPathXmlApplicationContext加载指定目录下的所有XML配置文件来初始化Spring上下文,并提供了一个通用的方法getBean用于获取特定类型的Bean实例。

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

package bl.seven.common.spring;

import java.io.File;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import bl.seven.common.io.PostfixFilenameFilter;

public class SevenBeanFactory {

   private static ApplicationContext ctx;
   static {
      File contextFile = new File("src/spring3.0");
      String[] contextFileNames = contextFile.list(new PostfixFilenameFilter(
            ".xml"));
      StringBuffer loadInfo = new StringBuffer();
      loadInfo.append("开始加载beans配置文件:");
      for (String contextFileName : contextFileNames) {
         loadInfo.append(contextFileName).append(",");
      }
      System.out.println(loadInfo.substring(0, loadInfo.length() - 1));
      ctx = new ClassPathXmlApplicationContext(contextFileNames);
      System.out.println("beans配置文件加载完成!");;
   }

   public static <T> T getBean(Class<T> beanClass, String beanName) {
      @SuppressWarnings("unchecked")
      T t = (T) ctx.getBean(beanName);
      return t;
   }
}


如下是目录结构


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值