spring的配置
添加别名
<alias name="user" alias="newUser"/>
bean标签的name属性也可以创建
别名
<!-- id:bean的唯一标识符,也就是变量名
class:beans对象对应的全限定类名
name:也是别名
-->
<bean id="user" class="pojo.user" name="user2">
<constructor-arg name="name" value="kobe"/>
</bean>
import
通常适用于团队开发,可以把多个配置文件导入合并成一个
bean的作用域
单例模式(spring默认)
就是每次从容器取出的对象都是相同的
关键词:scope=“singleton”
<bean id="user1" class="pojo.user" c:name="james" c:age="34" scope="singleton"/>
原型模式(多例模式)
每次从容器中去除的对象都是不同的
关键词:scope=“prototype”
<bean id="user" class="pojo.user" p:age="12" p:name="kobe" scope="prototype"/>
request,session,application在web开发的使用
bean的自动装配
spring会自动在上下文寻找,自动给bean装配属性
装配方式
1.在xml中配置
2.在Java中配置
3.隐式的自动装配
byname的自动装配(必须保证bean的id唯一,并且这个bean需要和自动注入的属性set方法一致):
<!-- Byname:会自动在容器上下文中查找,和自己对象set方法后面值对应(setDog)-->
<bean id="people" class="pojo.People" autowire="byName">
<property name="name" value="kobe"/>
</bean>
自动截取set后面的名字并查找上面已经定义的bean对象,并进行自动装配(没有区分大小写)
bytype的自动装配(必须保证bean的class唯一,并且这个bean需要和自动注入的属性set方法一致):
<!-- Byname:会自动在容器上下文中查找,和自己对象属性类型相同的bean
(必须保证bean的唯一)
-->
<bean id="people" class="pojo.People" autowire="byType">
<property name="name" value="kobe"/>
</bean>