Spring 学习笔记(四)

通过继承实现bean配置信息的重用

在bean标签中加入parent属性,指定当前bean继承于哪一个

使bean配置变成abstract

在bean标签中加入abstract属性,值为true
变成抽象bean
使之只能被继承不能直接调用

bean之间的依赖

默认在xml中按照顺序创建,可以改变bean之间的依赖
可以在bean中加入depends-on属性,指定这个对象的依赖
老师说,这个知识连一个使用场景都没有。。。真让我怀疑我先学spring再学web的计划是否正确。。。

测试bean的作用域,分别创建单实例和多实例的bean

bean的作用域:bean是否单实例
默认情况下,bean都是一对一的单实例
scope属性表示作用域,有四个值:
prototype 原型
singleton 单一的
request 同一次请求创建一个实例
session 同义词会话创建一个实例
但是,一般都是将实例创建防止session域中,清晰明了,所以后边两个值是没有用的。
单实例bean:
1)在容器启动之前就已经创建完成
2)任何时候获取都是获取之前创建好的那个
多实例bean:
1)容器启动默认不会创建多实例bean
2)当获取实例的时候被创建
3)每次获取都会创建一个新的对象

工厂模式

工厂帮助创建对象
有一个专门帮助我们创建类的工厂,就是工厂类
静态工厂:工厂本身不用创建对象,通过静态方法调用,对象=工厂类.工厂方法名()
实例工厂:工厂要被创建出来

class属性指定工厂类,factory-method属性指定工厂方法

实例工厂:配置出实例工厂,然后配制出要创建的类使用哪个工厂
然后在对象的bean中可以指定factory-bean属性,规定用哪个工厂创建
不是反射创建的对象,是工厂的方法创建的

FactoryBean
只要是这个接口的实现类,Spring都认为是一个工厂
需要在xml中注册
ioc容器 启动不会创建实例(多实例)
但也可以改变实例行为,变成单实例

发布了165 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/treblez/article/details/103797800
今日推荐