spring(IOC) 对象创建时机、对象作用域scope、对象的初始化方法和销毁方法的调用、spring容器总结
来源:互联网 发布:100以内手指算法视频 编辑:程序博客网 时间:2024/05/18 03:30
对象的创建时机
以上两种情况是默认值,当spring容器启动的时候创建对象
在bean有这样一个属性
<bean id="helloWorld" lazy-init="true" class="com.itheima09.spring.ioc.createobject.when.HelloWorld"></bean>
Default 相当于false 在spring容器启动的时候,创建对象
True 在context.getBean时创建对象
False 在spring容器启动的时候创建对象
lazy-init意义
如果把lazy-init设置为true,则当spring容器启动的时候,检测不到任何错
default/false。但是如果一个bean中有一个属性,该属性含有大量的数据,这个时候不希望该bean过早的停留在内存中。这个时候需要用到lazy-init为true。
对象的scope
默认情况(scope=singleton)
在默认情况下放入到spring中的bean是单例的
将来service层和dao层所有的类将放入到spring容器中,所以默认情况下这两
个层的类的实例都是单例的,所以不能把数据声明到属性中。如果声明在属性
中,将会成为共享的。
* 对象创建时机和scope的结合 *
<bean id="helloWorld" class="com.itheima09.spring.ioc.lazyscope.HelloWorld" lazy-init="false" scope="singleton"></bean>
Scope为prototype,lazy-init为true
在context.getBean时创建对象
Scopse为prototype,lazy-init为false
在context.getBean时创建对象,lazy-init为false失效
当scpose为prototype时,始终在context.getBean时创建对象
Scopse为singleton
是默认情况
Init和destroy
<!-- init-method 初始化方法 destroy-method 销毁方法 --> <bean id="helloWorld" class="com.itheima09.spring.ioc.initdestroy.HelloWorld" init-method="init" destroy-method="destroy" scope="prototype"></bean>
说明:
1、init方法是由spring内部执行的
2、只有当spring容器关闭以后才能执行destroy方法,spring容器一般情况下
是不会关闭的。只有当web容器销毁掉的时候才可能关闭掉,所以只要一个对
象在spring容器中,在spring容器关闭之前,会一直保留。
3、如果一个bean的配置是scope为”prototype”,则spring容器不负责销毁。
spring总结
Spring容器做的事情
总结
创建对象
1、对象的创建方式
2、对象的创建时机
3、对象的创建的模式
4、Init和destroy
5、创建时机和创建模式的结合
初始化和销毁
- spring(IOC) 对象创建时机、对象作用域scope、对象的初始化方法和销毁方法的调用、spring容器总结
- Spring - IOC创建对象的时机,创建Bean的Scope 及其 IOC的 生命周期
- Spring的IOC、Spring对象初始化bean时机、Spring容器生命周期
- Spring的IOC、Spring对象初始化bean时机、Spring容器生命周期
- spring容器创建对象的时机
- spring容器创建对象的时机
- Spring学习心得(3)-- Spring容器创建对象的时机
- spring非IOC容器中的对象获取IOC容器中对象的方法
- 【Spring】IOC容器创建对象
- spring IOC容器创建对象的三种方式
- Spring的核心之IoC容器创建对象
- Spring中bean初始化时机初始化方法和销毁方法
- 【Spring】Spring创建对象的各种方法
- spring中bean的作用域与懒加载及初始化方法和销毁方法以及spring容器的正常关闭
- Spring的IOC容器—scope作用域
- spring学习笔记(1) 配置spring bean的作用域 创建方法和销毁方法
- 2--spring bean 的作用域scope 设置;bean的初始化和销毁方法,profile配置不同环境实例化不同的bean,自定义事件,自定义监听器
- spring容器IOC创建对象<二>
- 自定义控制器切换
- eclipse JavaEE版"javax.servlet.http.HttpServlet" was not found on the Java Build Path问题的解决办法
- LeetCode题解:Single Number II
- 悬浮DIV页面制作
- 基于Dreamweaver的网页制作学习2----站点规划及图片的插入
- spring(IOC) 对象创建时机、对象作用域scope、对象的初始化方法和销毁方法的调用、spring容器总结
- LeetCode题解:Copy List with Random Pointer
- nyoj48过河问题
- 我的博客
- reading note 2
- LeetCode题解:Word Break
- 一个命令永久禁用Win10驱动程序强制签名
- 使用jQuery、js实现必应搜索制作
- win8.1安装veket的方法