在开发插件化系统时,动态装配 Bean 往往是刚需。Spring 容器本身支持多种资源加载机制,不同的应用场景(如独立应用、Web 项目、程序化注册)需要选择不同的加载器。
这里总结了六种常见的 XML 配置文件加载方式,涵盖了从底层工厂到 Web 上下文初始化的典型场景。
1. 使用 XmlBeanFactory 直接引用资源
这种方式属于比较底层的用法,适合对 Bean 生命周期有精细控制需求的场景。通过 Resource 接口定位文件,再交给工厂解析。
Resource resource = new ClassPathResource("appcontext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
注意:XmlBeanFactory 在新版 Spring 中已逐渐被 ApplicationContext 替代,但在某些遗留系统或轻量级场景中仍可见到。
2. 基于 ClassPath 的 ApplicationContext
这是最常用的启动方式之一,适用于将配置文件打包在 classpath 下的情况。它支持单文件或数组形式加载多个配置。
// 默认读取 src 目录下的文件
ApplicationContext factory = new ClassPathXmlApplicationContext("classpath:appcontext.xml");
// 也可以直接指定相对路径
ApplicationContext factory = new ClassPathXmlApplicationContext("appcontext.xml");
// 同时加载多个配置文件
ApplicationContext factory = new ClassPathXmlApplicationContext(new String[] {"bean1.xml", "bean2.xml"});
// 指定子目录结构
ApplicationContext ();
();

