Spring(四)_bean装配基于xml(1)

1. 实例化方式

1.1默认构造

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

1.2静态工厂

常用于spring整合其他框架(工具)
静态工厂:用于生成实例对象,所有的方法必须是static
工厂方法:

	public static BookService StaticCreateBean() {
		return new BookServiceImpl();
	}

.xml文件:

<bean id="bookServiceStaticBean" class="cn.itcast.spring.inject.MyStaticBeanFactory" factory-method="StaticCreateBean"></bean>
1.3实例工厂

工厂方法:

	public BookService CreateBean() {
		return new BookServiceImpl();
	}

.xml文件:

<bean id="bookSeviceBeanFactory" class="cn.itcast.spring.inject.MyBeanFactory"></bean>		
       	<bean id="bookSeviceBean" factory-bean="bookSeviceBeanFactory" factory-method="CreateBean"></bean>

2.bean的种类

2.1 普通bean:
<bean id=" " class="A"> ,spring直接创建A实例,返回
2.1 FactoryBean:具有工厂生成对象能力,只能生成特定的对象
使用:bean必须使用 FactoryBean接口,实现getObject() 方法用于获得特定bean
<bean id="" class="FB">, 先创建FB实例,再调用getObject()方法,返回方法的返回值

        FB fb = new FB();
		return fb.getObject();

3.作用域

scope属性:
1 .singleton:单例模式,默认值
2 .prototype:多例
在这里插入图片描述
例:

<bean id="userServiceId" class="com.itheima.d_scope.UserServiceImpl" 
		scope="prototype" ></bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值