2.4 通过XML装配bean
到目前为止,我们已经看到了如何让Spring自动发现和装配bean,还看到了如何进行手动干预,即通过JavaConfig显式地装配bean。但是,在装配bean的时候,还有一种可选方案,尽管这种方案可能不太合乎大家的心意,但是它在Spring中已经有很长的历史了.
在Spring刚刚出现的时候, XML是描述配置的主要方式。在Spring的名义下,我们创建了无数行XML代码。在一定程度上, Spring成为了
XML配置的同义词。尽管Spring长期以来确实与XML有着关联,但现在需要明确的是,XML不再是配置Spring的唯一可选方案。 Spring现在有了强大的自动化配置和基于Java的配置, XML不应该再是你的第一选择了。不过,鉴于已经存在那么多基于XML的Spring配置,所以理解如何在Spring中使用XML还是很重要的。但是,我希望本节的内容只是用来帮助你维护已有的XML配置,在完成新的Spring工作时,希望你会使用自动化配置和JavaConfig。
2.4.1创建XML配置规范
在使用XML为Spring装配bean之前,你需要创建一个新的配置规范。在XML配置中,要创建一个XML文件,并且要以<beans>元素为根。
最为简单的Spring XML配置如下所示:
书中这里并没有详细说明 之前用java配置进行对象的装载时说道bean应该是单例的,但是声明两个相同类型的bean不是多此一举吗?
验证一下:
之前都是截取书上的图,现在每次都给一个完整版.
需要注意的是 测试类会去加载和测试类同名且在同一个包中的的且与-context连接起来的xml文件 如果没有找到该xml文件 ,则会出现异常。
cd对应于构造函数的参数名:
这里的意思是通过_0可以替代第一个参数,无论它的名字是什么都是匹配的 否则如果我们构造方法的参数名变了,这个也就无效,最终会出错误。
注意 这里properties属性的值要对应setter方法。否则会出错
/
也就是说我们声明一个id 列表 就好像真的存在这样的对象一样 然后通过其它bean来引用它
感受:用XML装载是以前的方式,感觉装载这些东西是很繁琐的事情。所以只要大致知道它们如何配置即可。把关注点放在业务逻辑,至于这些配置在实际写代码的时候慢慢调即可,并且Spring已经提供给我们许多简便的方式来配置了。