Spring框架(三):spring IOC的使用

一、创建bean的三种方式

1、使用无参构造的方式创建对象

在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时。

<!--使用无参构造的方式创建对象-->
<bean id="userInfo" class="com.wedu.spring01.entity.UserInfo"/>

注意:创建对象id必须唯一 。

2、使用静态工厂的方式创建对象(使用某个类中的静态方法创建对象,并存入spring容器)

<!--利用静态工厂方法来创建对象-->
<bean id="cal" class="java.util.Calendar" factory-method="getInstance"/>

factory-method属性:指定一个静态方法名 。

3、使用实例工厂的方法创建对象(使用某个类中的方法创建对象,并存入spring容器)

<!--使用实例工厂的方法创建对象-->
<bean id="date" class="java.util.Date"/>
<bean id="time" factory-bean="date" factory-method="clone"/>

 factory-bean属性:指定bean的id。

二、bean的作用范围

bean的作用范围使用scope属性设置,scope的有以下值:

  • singleton:单例的(默认值),在整个应用中,只创建bean的一个实例。
  • prototype:多例的,每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。
  • request:作用于web应用的请求范围,在Web应用中,为每个请求创建一个bean实例。
  • session:作用于web应用的会话范围,在Web应用中,为每个会话创建一个bean实例。
  • global-session:作用于集群环境的会话范围(全局会话范围),当不是集群环境时,它就是session
<!--使用scope属性指定bean的作用范围-->
<bean id="scope" class="com.wedu.spring01.entity.UserInfo" scope="singleton"/>

三、bean对象的生命周期

1、容器的初始化

<!--指定初始化方法-->
<bean id="msg" class="com.wedu.spring01.entity.UserInfo" init-method="init" />

2、容器的销毁

<!--指定销毁方法-->
<bean id="msg" class="com.wedu.spring01.entity.UserInfo" destroy-method="destroy" />
	

注意:关闭sping容器时调用destroy方法,只有作用域为singleton时,销毁方法才起作用。

扫描二维码关注公众号,回复: 8783550 查看本文章
发布了134 篇原创文章 · 获赞 10 · 访问量 7359

猜你喜欢

转载自blog.csdn.net/yu1755128147/article/details/103541408