bean配置如下:
<bean id="personService" class="cn.itcast.service.impl.PersonServiceBean" scope
="singleton" lazy-init
="false" init-method
="init" destroy-method
="destory"></bean>
bean里实现的方法
public class PersonServiceBean implements PersonService{
public void init()
{
System.out.println("初始化");
}
public PersonServiceBean(){
System.out.println("我被实例化了");
}
public void save()
{
System.out.println("我是save()方法");
}
public void destory()
{
System.out.println("开闭打开的资源");
}
}
junit测试类如下:
public void instanceSpring(){
AbstractXmlApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");
// PersonServiceBean ps=(PersonServiceBean) ctx.getBean("personService");
ctx.close();
}
1.spring默认的情况下是创建容器时就实例化了bean,
但如果scope=“prototype
”时则是在 调用getBean方法是才实例化。
2.为了解决这一方面的问题,spring引入了lazy-init属性,当scope为默认,lazy-init=“true”(默认为false)时则实例化bean就会被
延迟,等到调用getBean时才实例化。
3.至于init-method
和destroy-method
属性则是初始化bean和销毁bean所用到的,比如可在初始化bean中实现数据库的连接
等。
4.ctx.close()
是关闭容器,也会关闭bean,调用destroy-method
属性了。
分享到:
相关推荐
spring bean 的生命周期,把运行结果的日志,用sublime打开对比查看,你会有比较清晰的认识
Spring bean生命周期demo
SpringBean的生命周期.mdj
Springbean生命周期
此资源是我的博客bean的生命周期的测试代码,只有源代码,没有相关库文件,环境是spring4.2 ,
介绍了Spring的Bean周期,容器周期,工厂周期,运行代码后可以看到运行结果
这个工程主要实现了: Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)
Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。这篇文章主要介绍了Spring Bean 生命周期,需要的朋友可以参考下
主要给大家介绍了Spring中Bean的生命周期和作用域及实现方式的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
四份资料介绍Spring Bean 的生命周期,从认识,熟悉,深究,记忆Spring Bean。希望这份资料能帮助你!
一般情况下,我们只是关心如何正确地将Bean装配到容器中,并不关心Ioc容器是如何装配和销毁Bean的过程。但是恰恰有时候,我们需要自定义初始化或销毁Bean的过程,以满足一些“特殊的”需求。比如,数据源在关闭的...
Spring Bean 生命周期之“我从哪里来?”
Spring的生命周期是指实例化Bean时所经历的一系列阶段,即通过getBean()获取bean对象及设置对象属性时,Spring框架做了哪些事。Bean的生命周期从Spring容器实例化Bean到销毁Bean。 本文分别对 BeanFactory 和 ...
学习Spring过程中,使用Eclipse调试Spring源码的关键断点文件。
主要介绍了Spring Bean的生命周期的相关资料,需要的朋友可以参考下
NULL 博文链接:https://cici9898-007.iteye.com/blog/1407695
本篇文章主要介绍了spring之Bean的生命周期详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
* * * 上图中,Bean的生命周期的整个执行过程描述如下。 (1)根据配置情况调用Bean构造方法或工厂方法实例化Bean。 (2)利用依赖注入来完成Bean中所有属性值的配置注入。 (3)如果Bean实现了BeanNameAware接口,...