Spring 容器继承图:
控制反转和依赖注入
什么是控制反转:依赖倒置原则
IOC容器的最最最最核心思想… ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第 一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度
配置Bean的作用域对象
- 在不指定@Scope的情况下,所有的bean都是单实例的bean,而且是饿汉加载(IOC容器启动实例就创建 好了
@Bean
public Person person() {
return new Person();
}
- 指定@Scope为 prototype 表示为多实例的,而且还是懒汉模式加载(IOC容器启动的时候,并不会创建对象,而是 在第一次使用的时候才会创建)
@Bean
@Scope(value = "prototype")
public Person person() {
return new Person();
}
- @Scope指定的作用域方法取值
a) singleton 单实例的(默认)
b) prototype 多实例的
c) request 同一次请求
d) session 同一个会话级别
Bean的懒加载@Lazy(主要针对单实例的bean 容器启动的时候,不创建对象,在第一次使用的时候才会创建该对象)
@Bean
@Lazy
public Person person() {
return new Person();
}