Spring中Bean实例化(三种方式)
1、使用类的无参构造进行创建(大多数情况下)
<bean id="user" class="com.bjxb.ioc.User"></bean>
(1)上面的代码使用的就是默认的无参构造的方式进行Bean的实例化
(2)使用这种方法我们需要注意,如果类中没有无参构造,会出现异常
2、使用静态工厂创建
(1)创建静态的方法,返回类的对象,以User对象为例
public class UserFactory {
// 静态方法,返回User对象
public static User getUser() {
return new User();
}
}
(2)配置文件中使用静态工厂创建对象
<bean id="user" class="com.bjxb.ioc.UserFactory" factory-method="getUser"></bean>
3、使用实例工厂创建
(1)创建普通方法,返回类的对象,以User对象为例
public class UserFactory {
// 普通方法,返回User对象
public User getUser() {
return new User();
}
}
(2)配置文件中使用实例工厂创建对象
<!-- 创建工厂对象 -->
<bean id="userFactory" class="com.bjxb.ioc.UserFactory"></bean>
<!-- 配置Bean对象 -->
<bean id="user" class="com.bjxb.ioc.User" factory-bean="userFactory" factory-method="getUser"></bean>