spring在配置文件中bean对象创建的三种方式applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
<!-- 创建方式1:空参构造创建 -->
<bean name="user1" class="cn.example.bean.User"
init-method="init" destroy-method="destory" ></bean>
<!-- 创建方式2:静态工厂创建 调用UserFactory的createUser方法创建名为user2的对象.放入容器 -->
<bean name="user2"
class="cn.example.UserFactory"
factory-method="createUser" ></bean>
<!-- 创建方式3:实例工厂创建
调用UserFactory对象的createUser2方法创建名为user3的对象.放入容器-->
<bean name="user3"
factory-bean="userFactory"
factory-method="createUser2" ></bean>
<!-- 声明工厂bean -->
<bean name="userFactory"
class="cn.example.UserFactory"></bean>
</beans>
测试代码:UserFactory.java
public class UserFactory {
public static User createUser(){
System.out.println("静态工厂创建User");
return new User();
}
public User createUser2(){
System.out.println("实例工厂创建User");
return new User();
}
}