1.Spring5.x的bean的scope作⽤域
- scope属性
singleton:单例, 默认值,调⽤getBean⽅法返回是同⼀个对象,实例会被缓存起来,效率⽐较⾼ 当⼀个bean被标识为singleton时候,spring的IOC容器中只会存在⼀个该bean
prototype: 多例,调⽤getBean⽅法创建不同的对象,会频繁的创建和销毁对象造成很⼤的开销
其他少⽤ (作⽤域 只在 WebApplicationContext)
request :每个Http请求都会创建⼀个新的bean
session: 每个Http Session请求都会创建⼀个新的bean
global session(基本不⽤)
2.Spring5.X常⻅的注⼊⽅式
- 使⽤set⽅法注⼊
- 使⽤带参的构造函数注⼊
- POJO类型注⼊(property 没有使⽤value属性,⽽是使⽤了ref属性)
- 注意: 类的构造函数重写的时候,⼀定要保留空构造函数!!!
3.Spring5.X List-Map类型的注⼊
- 复杂类型注⼊,添加两个属性
4.Spring ioc容器Bean之间的依赖和继承
- bean继承:两个类之间⼤多数的属性都相同,避免重复配置,通过bean标签的parent属性重⽤已有的Bean元素的配置信息 继承指的是配置信息的复⽤,和Java类的继承没有关系
- 属性依赖: 如果类A是作为类B的属性, 想要类A⽐类B先实例化,设置两个Bean的依赖关系