XML配置是之前spring长期使用的方式,但是现在有了自动化配置和基于java的配置,xml的配置方式通常仅限于维护已有的xml配置。
借助STS工具,创建Spring Bean Configuration File,后面需要的命名空间可以在其中通过选择添加。
例子:
<bean id="compactDisc" class="sound system.SgtPeppers" />自动调用默认构造器创建bean,与java配置相比更加被动,功能没那么强大。
例子(bean引用和字面量):
<bean id="cdPlayer" class="soundsystem.CDPlayer"> <constructor-arg ref="compactDisc"/> </bean> <bean id="compactDisc class="soundsystem.BlankDisc"> <constructor-arg value="Sgt. Pepper's Lonely Hearts Club Band" /> <constructor-arg value="The Beatles" /> </bean>例子(集合):
<constructor-arg> <list> <value>xxxx</value> <value>xxxx</value> <value>xxxx</value> </list> </constructor-arg> <constructor-arg> <list> <ref bean="xxx" /> <ref bean="xxx" /> <ref bean="xxx" /> </list> </constructor-arg>首先要在XML的顶部声明其模式,例子(bean引用和字面量)如下:
<bean id="cdPlayer" class="soundsystem.CDPlayer" c:cd-ref="compactDisc" /> <bean id="compactDisc" class="soundsystem.BlankDisc" c:_titile="xxxx" c:_artist="xxxx" /> <bean id="compactDisc" class="soundsystem.BlankDisc" c:_0="xxxxx" c:_1="xxxxx" />c:表示使用c命名空间,cd是构造器参数名,也可以使用参数索引_0,当只有一个参数时可以使用_,-ref表示正在装配的是一个bean的引用,引用名为后面的名称而不是字面量。
例子(bean引用和字面量):
<bean id="cdPlayer" class="soundsystem.CDPlayer"> <property name="compactDisc" ref="compactDisc" /> </bean> <bean id="compactDisc" class="soundsystem.BlankDisc"> <property name="title" value="xxxx" /> <property name="tracks"> <list> <value>xxxxx</value> <value>xxxxx</value> </list> </property> </bean>使用p-命名空间也要首先在xml顶部声明模式,例子(bean引用和字面量)如下:
<bean id="cdPlayer" class="soundsystem.CDPlayer" p:compactDisc-ref="compactDisc" /> <bean id="compactDisc" class="soundsystem.BlankDisc" p:title="xxxxxx"> <property name="tracks"> <list> <value>xxx</value> <value>xxx</value> </list> </property> </bean>首先在XML中声明util-命名空间及模式,util-命名空间提供的功能之一就是<util:list>元素,简单来说会创建一个list bean,之后就可以像注入其他类引用一样注入列表,例子如下:
<util:list id="trackList"> <value>xxxx</value> <value>xxxx</value> </util:list> <bean id="compactDisc" class="soundsystem.BlankDisc" p:title="xxxx" p:artist="xxxx" p:tracks-ref="trackList" />