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加载多个配置文件的主要内容,如果未能解决你的问题,请参考以下文章
07.Spring Bean 加载 - BeanDefinitionReader