<bean name="xxx" class="指定的bean类" scope="singleton"></bean>
id属性:Java Bean在BeanFactory中的唯一标识,代码中通过BeanFactory获取JavaBean实例时需以此作为索引名称。
name属性:同id大致相同,如果给bean增加别名,可以通过name属性指定一个或多个id。class属性:Java Bean 类名。
Scpoe属性:指明bean的作用域,常用的有:singleton,prototype。
singleton:在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:
<bean id="xxx" class="xxxx" lazy-init="true"/>
如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“,如下:
<beans default-lazy-init="true“ ...>
prototype: 每次从容器获取bean都是新的对象。
<property name="xxx" value="hello,你好"></property>
<property name="xxx" ref="xxx"/>
property:用于设置一个属性
注意:name的值要和你注入的bean中的成员属性的名称相同。
ref:指定了属性对BeanFactory中其他Bean的引用关系
value:指定bean的属性值
<constructor-arg type="java.lang.String" value="hp电脑"/>
<constructor-arg index="0" value="hp电脑"/>
constructor-arg:使用构造方法注入,指定构造方法的参数。
注意:相应的bean中必须含有制定使用的构造器否则会出现异常
index属性:设置参数的序号,注:索引从0开始
type属性:参数类型。
ref属性:同上ref。
value属性:参数的值。
<bean id="xxx" class="指定的类" scope="prototype" depends-on="xxx">
depends-on属性:Bean依赖关系。一般情况下无需设定。Spring会根据情况组织各个依赖关系的构建工作。只有某些特殊情况下,如JavaBean中的某些静态变量需要进行初始化(这是一种BadSmell,应该在设计上应该避免)。通过depends-on指定其依赖关系可保证在此Bean加载之前,首先对depends-on所指定的资源进行加载。
<property name="email"><null/></property>
null值的传递:有两种:一:<value>null</value> 二:<null/>
<bean id="xxx" class="指定的类" init-method="方法名" destroy-method="方法名"/>
init-method属性:初始化方法,此方法将在BeanFactory创建JavaBean实例之后,在向应用层返回引用之前执行。一般用于一些资源的初始化工作。
destroy-method属性:销毁方法。此方法将在BeanFactory销毁的时候执行,一般用于资源释放。
init-meth
----------------------------------------------------------------
以上属个人理解,若有不足,请各位高手指点,谢谢..