Spring01
0. Spring框架概述
Spring 是⼀种轻量级开发框架,旨在提⾼开发⼈员的开发效率以及系统的可维护性。
我们⼀般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使⽤这些模块可以很⽅便地协助我们进⾏开发
|
|
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
1. Core Container
Core Container 中的 Core 组件是Spring 所有组件的核⼼,
Beans 组件和 Context 组件是实现IOC和依赖注⼊的基础
0. Inverse Of Controll(控制反转)
- 控制
控制一词,我们需要想的就很多。比如说,达成控制的条件必须是两个对象,控制可以分为谁控制谁 ,控制你做什么 。那我们一一列举这几种情况:
- 在Java中我们以new的方式创建对象,开发者控制控制着开发工具并间接的控制程序创建所需要的依赖对象,对于程序来说是直接的控制创建对象;
- 如果使用IOC呢?那就可以是IOC容器直接的控制创建对象
既然是IOC控制创建对象,那么控制创建对象是怎么控制的呢?使用IOC创建对象是需要标签引入外部对象,这说明了IOC容器控制着创建依赖对象的入口
- 反转
在Java中我们是间接的控制程序来创建对象(new对象),这可以看作正转。那有了IOC容器,一下子就变了,我们不用自己new对象,而是直接反转为由IOC创建生成依赖对象并存入IOC容器中
- 使用IOC容器创建对象我们只需要通过配置来告诉它需要创建的对象是什么
- 并标识一下以后使用什么来获取IOC容器中创建好的对象即可(配置使用IOC的过程),这时候等你想要IOC容器中对象就直接用这个唯一标识来获取就好,而获取的过程肯定是IOC通过这个唯一标识来查找并返回给我们该对象
1. 依赖注入方式
- 构造函数传入
- Setter传递
- 接口注入
1.1. 依赖注入(DI)(个人理解)
1. 什么是依赖?
一个自定义的类A, A中需要用到另一个类B,就叫做A依赖B
class A {
private B b;
...
public A(){
this.b = new