Spring 框架 ---->> bean实例化方式

本文详细介绍了Spring中三种实例化Bean的方式:默认构造、静态工厂和实例工厂,并提供了具体的配置示例。
<!--默认构造
<bean id="userServiceId" class="com.zhiyou100.service.impl.UserServiceImpl"/>-->
<!--静态工厂     factory-method 确定静态方法名
<bean id="userServiceId" class="com.zhiyou100.service.impl.UserServiceImpl" factory-method="createUserService"/>-->

<!--创建工厂实例对象   所有方法非静态
<bean id="userServiceFactoryId" class="com.zhiyou100.service.impl.UserServiceFactory"/>
 factory-bean 确定工厂实例   factory-method 确定普通方法
<bean id="userServiceId" factory-bean="userServiceFactoryId" factory-method="createUserService" scope="prototype"/>-->

1、默认构造

<bean id="" class="">  必须提供默认构造

2、静态工厂

常用与spring整合其他框架(工具)

静态工厂:用于生成实例对象,所有的方法必须是static

<bean id=""  class="工厂全限定类名"  factory-method="静态方法">

工厂:

public class MyBeanFactory {

public static UserService createService(){

return new UserServiceImpl();

}

}

spring配置:

<!-- 将静态工厂创建的实例交予spring

class 确定静态工厂全限定类名

factory-method 确定静态方法名

-->

<bean id="userService" class="com.zhiyou100.MyBeanFactory"  factory-method="createService"></bean>

3、实例工厂

实例工厂:必须先有工厂实例对象,通过实例对象创建对象。提供所有的方法都是“非静态”的。

工厂:

/**

 * 实例工厂,所有方法非静态

 */

public class MyBeanFactory {

public UserService createService(){

return new UserServiceImpl();

}

}

spring 配置:

<!-- 创建工厂实例对象-->

<bean id="myBeanFactory" class="com.zhiyou100.MyBeanFactory"></bean>

<!-- 获得userservice 

* factory-bean 确定工厂实例

* factory-method 确定普通方法

-->

<bean id="userService"  factory-bean="myBeanFactory"  factory-method="createService"></bean>

 

转载于:https://my.oschina.net/u/3046510/blog/794510

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值