DI
依赖注入
set注入
调用set方法给属性赋值
<property name="属性名" ref="bean对象id值">
<property name="属性名" value="值">
<bean id="tomato" class="bean.Tomato">
<!--
set注入 底层会调用属性的set方法给属性赋值
如果是普通类型(基本类型+String): 就用value属性 注入值
如果是对象类型 :就有ref属性 注入值
-->
<property name="color" value="红色的">
</property>
<property name="type" value="新疆西红柿"></property>
</bean>
各种类型的属性注入
特殊字符
<property name="specialCharater">
<value> <![CDATA[PAAAAA& ' " < >]]></value>
<value>PAAAAA&":'<></value>
</property>
User对象
外部先创建
<bean id ="uu" class="bean.User">
<property name="username">
<value>张三丰</value>
</bean>
<property name="u" ref="uu"></property>
时间对象
<!-- 工厂方法创建对象 -->
<bean id="date" factory-bean="cal" factory-method="getTime" class="java.util.Date"></bean>
<!-- 静态工厂创建对象 -->
<bean id="cal" factory-method="getInstance" class="java.util.GregorianCalendar">
</bean>
<property name="now" ref="date"></property>
list集合
<property name="list">
<list>
<value>芙蓉姐姐</value>
<value>凤姐姐</value>
<value>神仙姐姐</value>
</list>
数组
<property name="array">
<array>
<value>曾哥</value>
<value>春哥</value>
<value>犀利哥</value>
</array>
</property>
set集合
<property name="set">
<set>
<value>张飞</value>
<value>刘备</value>
<value>关羽</value>
</set>
</property>
map集合
<property name="map">
<map>
<entry key="haha">
<value>哈哈</value>
</entry>
<entry key="hehe">
<value>呵呵</value>
</entry>
</map>
</property>
properties类型
<property name="props">
<props>
<prop key="aaa">啊啊啊啊</prop>
<prop key="bbb">宝宝心里苦</prop>
</props>
</property>
创建对象的几种方式
new new Date();
反射
工厂对象
Calendar cal = Calendar.getInstance();
Date now = cal.getTime();
静态对象
Calendar cal = Calendar.getInstance();