学习SSM框架笔记二:spring容器实例化对象的3种方法

上一篇中简单的实现了一下Spring容器实例化对象.是通过构造器的方式.其实还有别的方式实例化对象,但是通过(默认)构造器是最常用的一种

Spring容器实例化对象的3中方法

1、默认构造器

上一篇中,我们虽然自己写了一个无参构造器,其实只是为了更好的观察Spring容器实例化对象。其实不用写无参构造器,用默认构造器也能实例化对象,而且是我们最常用的方式。通过默认构造器实例化对象的要求就是id属性是唯一的,class属性指定类的全限定名(包名+类名);

2、静态工厂方法(了解)

通过要实例化的类中的静态方法返回一个对象。

如果要实例化Calendar类,我们需要借助类中的一个静态方法,可以得到Calendar的实例。因为Calendar是日历,需要设计为单例模式。

这时Spring容器无法通过构造器的方式new一个Calendar的实例,所以需要用到静态工厂方法来获得Calendar的对象。

factory-method属性的值来指定静态方法即可。

 

3、对象工厂方法(了解)

如果实例化的类是Spring容器中的bean元素,而且需要类中的静态方法来实例化对象,就可以用对象工厂方法.

其中factory-bean为一个bean元素的id.factory-method为静态方法.

 

Bean元素的其他属性

指定初始化方法:init-method属性:当Spring容器创建完对象后会立刻执行此属性指定的方法.

作用域:scope属性:指定作用域,缺省值是singleton(单例,即单个实例);
可以设置作用域为prototype(原型,多个实例)。

延迟加载:lazy-init属性:如果值为true,表示延迟加载,即容器启动之后,不会立即创建该实例。

销毁方法:destroy-method属性:关闭容器时,会立刻执行指定的方法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值