<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--将user 对象 交给spring容器管理-->
<!--Bean元素的解释
name:给被管理的对象起的名字 获取时根据名字来获取到指定对象,可以重复 可以使用特殊字符
class:被管理对象的完整类名
id属性: 和name属性功能一样。名称不可重复 不能使用特殊字符
scope:
singleton 单例对象
prototype 多例对象
-->
<!--1.空参构造创建对象-->
<bean name="user1" class="bean.User">
<!--为user对象中的属性name注入 值symsym-->
<property name="name" value="symsym"></property>
<property name="age" value="21"></property>
<property name="car" ref="car"></property>
</bean>
<!--这都是set方法注入值-->
<bean name="car" class="bean.Car">
<property name="name" value="法拉利"></property>
<property name="color" value="酷炫黑"></property>
</bean>
<!--构造函数 注入值-->
<!--
name:指定构造函数的参数名
value:指定值
index:指定参数的索引
type:指定参数的类型
-->
<bean name="user2" class="bean.User">
<constructor-arg name="name" value="symsym" index="0" type="java.lang.String"></constructor-arg>
<constructor-arg name="car" ref="car" index="1"></constructor-arg>
</bean>
<!--复杂类型注入-->
<!--arr数组 注入-->
<bean name="cb" class="bean.CollectionBean">
<!--如果数组中指注入一个指 直接用 value或ref即可-->
<!--<property name="arr" value="tom"></property>-->
<property name="arr">
<array>
<value>sym1</value>
<value>sym2</value>
<ref bean="user1"></ref>
</array>
</property>
<property name="list">
<list>
<value>sym3</value>
<value>sym4</value>
<ref bean="car"></ref>
</list>
</property>
<!--map类型注入-->
<property name="map">
<map>
<entry key="url" value="adwda"></entry>
<entry key="user" value-ref="user1"></entry>
<entry key-ref="user1" value-ref="user2"></entry>
</map>
</property>
</bean>
<!--2.静态工厂创建对象 用userfactory中的createuser的方法来创建名为 user1的对象。放入spring容器-->
<!-- <bean name="" class="bean.UserFactory" factory-method="createUser"></bean>-->
</beans>