IOC容器實例化對象的幾種方式:
- 調用無參構造
- 調用有參構造
- 調用其他對象構造
- 調用工廠類靜態(tài)方法
- 調用工廠類非靜態(tài)方法
下面上代碼:
applicationConfig.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 無參調用 -->
<!-- <bean id="user" class="com.iotek.first.User"></bean> -->
<!-- 帶參調用 -->
<!-- <bean id="user2" class="com.iotek.first.User">
<constructor-arg value="101"></constructor-arg>
<constructor-arg value="Tom"></constructor-arg>
</bean> -->
<!-- 調用其他對象 -->
<!-- <bean id="name" class="java.lang.String">
<constructor-arg value="Jack"></constructor-arg>
</bean>
<bean id="user3" class="com.iotek.first.User">
<constructor-arg type="java.lang.String" ref="name" index="1"></constructor-arg>
<constructor-arg value="102" type="int" index="0"></constructor-arg>
</bean> -->
<!-- 調用工廠類的靜態(tài)方法 -->
<!-- <bean id="UserFactory" class="com.iotek.first.UserFactory">
</bean>
<bean id="user" factory-bean="UserFactory" factory-method="getUser"></bean> -->
<!-- 調用工廠類的實例方法 -->
<bean id="UserFactory" class="com.iotek.first.UserFactory"></bean>
<bean id="user" class="com.iotek.first.UserFactory" factory-method="getStaticUser"></bean>
</beans>