spring ioc
来源:互联网 发布:迅雷软件下载安装 编辑:程序博客网 时间:2024/06/01 13:30
控制反转:
把对象的创建交给spring容器来做
2、利用静态工厂方法创建
spring调用工厂方法产生对象,但是真正创建对象还是由程序员来完成的
3、实例工厂方法
说明:
spring配置文件中,只要是一个bean就会为该bean创建对象
1、在默认的情况下,启动spring容器创建对象
2、在spring的配置文件bean中有一个属性lazy-init="default/true/false"
1、如果lazy-init为"default/false"在启动spring容器时创建对象
2、如果lazy-init为"true",在context.getBean时才要创建对象
意义:
在第一种情况下可以在启动spring容器的时候,检查spring容器配置文件的正确性,如果再结合tomcat,
如果spring容器不能正常启动,整个tomcat就不能正常启动。但是这样的缺点是把一些bean过早的放在了
内存中,如果有数据,则对内存来是一个消耗
在第二种情况下,可以减少内存的消耗,但是不容易发现错误
在多例的情况下
就是一种情况:在context.getBean时才创建对象
2、可以在spring的配置文件中,scope的值进行修改="singleton/prototype/request/session/global session"
3、如果spring的配置文件的scope为"prototype",则在得到该bean时才创建对象
2、执行init方法
3、调用自己的方法
4、当spring容器关闭的时候执行destroy方法
把对象的创建交给spring容器来做
spring容器创建对象的方式
1、默认是调用默认的构造函数2、利用静态工厂方法创建
spring调用工厂方法产生对象,但是真正创建对象还是由程序员来完成的
3、实例工厂方法
说明:
spring配置文件中,只要是一个bean就会为该bean创建对象
spring容器创建对象的时机
在单例的情况下1、在默认的情况下,启动spring容器创建对象
2、在spring的配置文件bean中有一个属性lazy-init="default/true/false"
1、如果lazy-init为"default/false"在启动spring容器时创建对象
2、如果lazy-init为"true",在context.getBean时才要创建对象
意义:
在第一种情况下可以在启动spring容器的时候,检查spring容器配置文件的正确性,如果再结合tomcat,
如果spring容器不能正常启动,整个tomcat就不能正常启动。但是这样的缺点是把一些bean过早的放在了
内存中,如果有数据,则对内存来是一个消耗
在第二种情况下,可以减少内存的消耗,但是不容易发现错误
在多例的情况下
就是一种情况:在context.getBean时才创建对象
spring的bean中的scope
1、由spring产生的bean默认是单例的2、可以在spring的配置文件中,scope的值进行修改="singleton/prototype/request/session/global session"
3、如果spring的配置文件的scope为"prototype",则在得到该bean时才创建对象
spring容器对象的生命周期:
1、spring容器创建对象2、执行init方法
3、调用自己的方法
4、当spring容器关闭的时候执行destroy方法
0 0
- IOC、Spring的IOC
- Spring IoC
- [Spring]IoC
- Spring IOC
- Spring IOC
- spring IOC
- Spring IOC
- Spring IOC
- Spring Ioc
- Spring IoC
- spring ioc
- Spring IOC
- spring IOC
- Spring Ioc
- Spring IoC
- Spring IOC
- Spring IOC
- Spring IoC
- 动态规划算法的基本步骤
- oracle--如何分析执行计划
- 帕塞瓦尔定理的应用
- 50申请与通知的完成
- [Android] ListView 滚回顶部
- spring ioc
- 外媒推荐2014年不可错过的科技书单
- 神一样的CSDN博客排名规则
- mac清除文件夹下的svn信息
- iOS之UIWebView的使用——嵌套HTML与JavaScript
- Linux如何查看系统当前登录用户信息,linux su命令参数及用法详解(linux切换用户命令)
- Java序列化
- 极大似然估计和贝叶斯估计
- 将ASP.NET Web应用程序支配到Windows Azure Web Site和SQL 数据库