Spring在beans配置文件中声明bean的方式

在Spring的bean配置文件中,每个bean必须有一个唯一标识的名称或者id,以及一个完全限定的类名,用来让Ioc容器对其进行实例化。

例如有一个简单的Bean:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.gisxx.springTest;
public class TestBean {
private String userName;
public TestBean() {
}
public TestBean(String userName) {
super();
this.userName= userName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName= userName;
}
public void hello(){
System.out.println("Hello "+this.getName());
}
}

1、简单类型的bean属性可以通过 <propetry>元素来配置,子元素<value>来设置值:

1
2
3
4
5
<bean id="test" class="com.gisxx.springTest">
<property name="userName">
<value>肖大昕</value>
</property>
</bean>

2、也可以通过构造函数标签<constructor-arg>来设值:

1
2
3
4
5
<bean id="test" class="com.gisxx.springTest">
<constructor-arg>
<value>肖大昕</value>
</constructor-arg>
</bean>

如果构造函数有多个参数,则顺序必须一致

3、用简写定义Bean属性,可以在 <propetry>元素中提供一个Value属性代替包围在<value>元素中的属性:

1
2
3
<bean id="test" class="com.gisxx.springTest">
<property name="userName" value="肖大昕" />
</bean>

4、使用p schema<bean>元素中的属性一样定义Bean的属性:
先要在<beans>元素中添加:

1
xmlns:p="http://www.springframework.org/schema/p"

然后bean配置可以这样写:

1
<bean id="test" class="com.gisxx.springTest" p:userName="肖大昕" />