1.简单了解IOC
在项目开发中,程序员会时常遇到需要new对象的问题,这样会导致代码耦合性极大,从而对开发以及维护加大了难度,然后IOC 完成的事情就是原先程序员主动通过new实例化对象转交给spring去管理,控制反转中的控制是指控制类的对象,控制反转中的反转是指交给spring负责,IOC最大的作用就是解耦
2.Spring的环境配置
一般项目开发的jar包都会用maven仓库来管理,直接进入maven的官网,然后搜索spring会出现几个比较重要的jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
3.Spring创建对象的三种方式
1.通过构造方法创建
1.1无参构造创建:默认情况
1.2有参构造:需要明确配置
1.2.1需要类中提供有参构造方法
1.2.2在applicationContext.xml中设置调用哪个构造方法来创建对象
1.2.2.1如果有多个构造方法匹配,默认执行最后一个
1.2.2.2index:参数列表的索引,从0开始
1.2.2.3name:参数的名称
1.2.2.4type:参数类型
2.实例工厂
2.1工厂设计模式:帮助创建类的对象,一个工厂可以生产多个对象
2.2实例工厂:需要先创建工厂,才能生产对象
2.3实现步骤:
2.3.1必须有一个实例工厂
2.3.2在applicationContext.xml中配置工厂以及需要创建的对象
3.静态工厂
3.1不需要创建工厂,快速创建对象
3.2实现步骤
3.2.1编写一个静态工厂(在方法前加一个static)
3.2.2在applicationContext.xml中配置好对象bean,则不需要配置工厂bean
4.如何给Bean的属性赋值
1.构造器初始化赋值
2.set方法赋值(注入),当spring创建对象时,自动走applicationContext.xml中的bean,然后通过set方法注入
5.DI(依赖注入)
5.1DI和IOC是一样的,都是用于spring创建对象时,也可以说DI服务于IOC
5.2当一个类(A)中需要依赖于另外一个类对象(B)时,把B赋值给A的过程叫作依赖注入