本篇文章的环境请查看上一篇
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的引入啦!
运行结果依旧正常