bean对象的三种创建方式
通过调用构造函数来创建bean对象
默认情况下,当我们在spring的配置文件中写了一个bean标签并提供了class属性,spring就会调用默认构造函数创建对象。
如果没有构造函数,则创建失败。
1 | <!-- 配置业务层对象 --> |
1 | // Client.java |
通过静态工厂创建bean对象
工厂类中提供一个静态方法,可以返回要用的bean对象。
1 | <!-- 静态工厂创建 --> |
1 | // src/com/gsynf/factory/StaticBeanFactory.java |
1 | // Client.java |
通过实例工厂创建bean对象
工厂类中提供一个普通方法,可以返回要用的bean对象。
1 | <!-- 实例工厂创建 --> |
1 | // src/com/gsynf/factory/InstanceBeanFactory.java |
1 | // Client.java |
bean对象的作用范围
它是可以通过配置的方式指定的。配置的属性:bean标签的scope属性。属性的取值:
- singleton:单例范围,默认值;
- prototype:多例对象;
- request:请求范围,也就是只在该次请求和请求的转发中可用,WEB项目中,将Spring创建的bean对象存入到request域中;
- session:会话范围,也就是在一次会话的范围中,WEB项目中,将Spring创建的bean对象存入到session域中;
- global-session:全局会话范围;
bean对象的生命周期
生命周期要具体分为单例对象和多例对象:
单例对象:
出生:容器创建,对象出生;
活着:容器存在,对象就一直可用;
死亡:容器销毁,对象消亡;
多例对象:
- 出生:每次使用时,容器会创建对象;
- 活着:只要对象在使用过程中,就一直活在;
- 死亡:当对象长时间不用并且也没有其他对象引用时,由java的垃圾回收器回收;
注:转载文章请注明出处,谢谢~