创建XML配置规范
最简单的Spring XML配合如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
</beans>
用来装配Bean的最基本的XML元素包含在Spring-Beans模式之中,在XML文件中,本定义为根命名空间.<beans>是该模式中的一个元素,它是所有Spring配置文件的根元素.
声明一个简单的<bean>
<bean id="beatlesCD" class="main.java.Demo1.BeatlesCD"/>
这声明一个简单的Bean,创建该Bean的类用过class属性来指定,使用全限定的类名.id属性用来给bean命名.
借助构造器注入初始化Bean
1.<constructor-arg>元素
2.使用Spring3.0所引入的c-命名空间
第一种比第二种冗长繁琐
构造器注入Bean引用:
<bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
<constructor-arg ref="beatlesCD"/>
</bean>
以上为对CDPlayer Bean的声明,引用上面beatlesCD Bean的引用.
当Spring遇到这个<bean>元素时,它会创建一个CDPlayer的实例.<constructor-arg>元素会告知Spring要将一个ID为"beatlesCD"的Bean的引用传递给CDPlayer的构造器中.
还可将字面量(常量)注入到构造器中,如下:
<bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
<constructor-arg ref="beatlesCD"/>
<constructor-arg value="value"/>
</bean>
value属性表明给定的值要以字面量的形式注入到构造器中.
装配集合:如果构造器需要一个集合如List,可用如下方式:
<bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
<constructor-arg ref="beatlesCD"/>
<constructor-arg>
<list>
<value>Demo1</value>
<value>Demo2</value>
</list>
</constructor-arg>
</bean>
集合中的类型也可是其他Bean.
Setter方法设置属性:
上述Bean的声明完全是通过构造器注入的,没有使用属性的Setter方法.下面例子是如何用Setter方法实现属性注入.
<bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
<property name="cd" ref="beatlesCD"/>
</bean>
<property>元素为属性的Setter方法所提供的功能与<constructor-arg>元素为构造器所提供的功能是一样的.
Setter方法同样也可以将字面量注入到属性中:
<property name="name" value="vina"/>
同样可以注入集合属性:
<property name="names">
<value>vina</value>
<value>myvina</value>
</property>
以上就是通过XML装配Bean的所有内容.