本篇文章的环境请查看上一篇

SpringIOCの多个配置文件读取方式

1. 复制spring-beans.xml为spring-beans1.xml

2. 在原文件中放s1,新的文件中放s2

3. 修改Test.java

4. 运行结果

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
setter
setter
Student{id='qwer', name='hkx', stuNo='stu001', student=null}

5. 倘或在spring-beans1.xml中添加

<bean id="s2" class="top.leafii.springdemo.demo1helloworld.domain.Student">
        <property name="id" value="AA"></property>
        <property name="name">
            <value>yys</value>
        </property>
<!--以上两种方式无差异-->
<!--什么时候用以上的那种子标签呢?如果value里有很多很多很多文字就可以用这个方式了 增强代码的可读性-->
        <property name="stuNo" value="stu007"/>
        <property name="student" ref="s1"/>
<!--添加了上一行-->
<!--这里的s1或许会报错,只是预编译错误,运行是没问题的,因为我们导入了两个xml文件进行注入-->
    </bean>

想要消除s1的错误,可以加一个import的标签在beans下
<import resource="spring-beans.xml"/>
这样就不会编译错误了
在Test中添加打印student2
运行结果依旧正确奥!

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
setter
setter
Student{id='qwer', name='hkx', stuNo='stu001', student=null}
Student{id='AA', name='yys', stuNo='stu007', student=Student{id='qwer', name='hkx', stuNo='stu001', student=null}}

6. beans1文件中已经import了beans文件,其实就不需要在Test类中设置beans的引入啦!

运行结果依旧正常