Spring bean加载多个配置文件

Posted 曹军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring bean加载多个配置文件相关的知识,希望对你有一定的参考价值。

  除了写很简单的加载一个xml,加载多个的情况一直没用到,在公司里也不会由自己处理这个问题,现在需要用到了,就研究验证一下。

  使用的案例还是上面的例子。

  只有,将原来的beans.xml分成两个部分。

  

1.结构

  

 

2.beans.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 5 
 6     <!--
 7         加载一个xml,这个作为总的xml入口
 8     -->
 9     <import resource="beans2.xml"/>
10 
11     <bean id="helloWorldService" class="com.it.bean.HelloWorldService">
12         <property name="helloWorld" ref="springHelloWorld"/>
13     </bean>
14 
15 
16 </beans>

 

3.beans2.xml

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
5 
6     <bean id="springHelloWorld" class="com.it.service.SpringHelloWorld"></bean>
7     
8 </beans>

 

4.运行类

 1 package com.it.main;
 2 
 3 import com.it.service.HelloWorld;
 4 import com.it.bean.HelloWorldService;
 5 import org.springframework.context.ApplicationContext;
 6 import org.springframework.context.support.ClassPathXmlApplicationContext;
 7 
 8 public class HelloMain {
 9     public static void main(String[] args) {
10 
11         ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
12 
13         HelloWorldService service = (HelloWorldService) context.getBean("helloWorldService");
14 
15         HelloWorld hw= service.getHelloWorld();
16 
17         hw.sayHello();
18     }
19 }

 

 

  

以上是关于Spring bean加载多个配置文件的主要内容,如果未能解决你的问题,请参考以下文章

spring配置加载多个properties文件

Spring项目中Properties不能加载多个的问题

当多个配置文件不活动时如何有条件地声明 Bean?

07.Spring Bean 加载 - BeanDefinitionReader

spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件

Spring源码分析Bean加载流程概览