1) 使用無參構造方法實例化
它會根據默認無參構造方法來創建類對象,如果bean中沒有默認無參構造函數,將會創建失敗
<?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">
<bean id="impl" class="com.Impl"></bean>
</beans>
2) 工廠靜態方法實例化
工廠的靜態方法返回Bean實例
<?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">
<bean id="impl" class="com.StaticFactoryBean" factory-method="create"></bean>
</beans>
public class StaticFactoryBean {public static ImplDao create(){return new ImplDao();}
}
3) 工廠實例方法實例化
工廠的非靜態方法返回Bean實例
public class DynamicFactoryBean {public ImplDao create(){return new ImplDao();}
}
<?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"><bean id="factoryBean" class="com.DynamicFactoryBean"/><bean id="impl" factory-bean="factoryBean" factory-method="create"/>
</beans>