spring 工厂
- 一、概念
- 二、spring工厂环境搭建
- 1.创建web项目
- 2.补全开发环境
- 3.引入相关依赖
- 4.引入spring的配置文件
- 三、spring工厂开发步骤
- 1.创建实体类
- 2.在spring配置文件中配置该类的相关信息
- 3.测试spring工厂是否可用
- 四、spring工厂创建对象原理
- 五、spring注入
- 1.Set注入
- 1.1 给数组类型的属性赋值
- 1.2 给List类型的属性赋值
- 1.3 给Set类型的属性赋值
- 1.4 给Map类型的属性赋值
- 1.5 给Properties类型的属性赋值
- 1.6 给自建类型的属性赋值
- 1.6.1 给对象初始属性赋值
- 1.6.2 给service层中的dao属性赋值
- 2.构造注入
- 2.1 根据属性赋值
- 2.2 根据下标赋值
- 2.3 根据类型注入
- 3.自动注入(自建类型)
- 3.1 byName注入
- 3.2 byType注入
一、概念
spring工厂作用:创建对象 好处:解耦合
二、spring工厂环境搭建
1.创建web项目
2.补全开发环境
3.引入相关依赖
<!--spring相关依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
4.引入spring的配置文件
命名:随意 建议是:applicationContext.xml
位置:src/main/resources 中
三、spring工厂开发步骤
1.创建实体类
2.在spring配置文件中配置该类的相关信息
3.测试spring工厂是否可用
四、spring工厂创建对象原理
五、spring注入
概念:在通过spring工厂创建对象时,为该对象的属性赋值
1.Set注入
原理:底层通过调用该类的set方法,给属性赋值的
前提:必须给该属性提供对应的Set方法
1.1 给数组类型的属性赋值
1.2 给List类型的属性赋值
1.3 给Set类型的属性赋值
1.4 给Map类型的属性赋值
1.5 给Properties类型的属性赋值
1.6 给自建类型的属性赋值
1.6.1 给对象初始属性赋值
1.6.2 给service层中的dao属性赋值
2.构造注入
原理:通过调用该类的有参数构造,为对应的属性赋予初始值
前提:为该属性提供对应的有参构造
2.1 根据属性赋值
2.2 根据下标赋值
2.3 根据类型注入
3.自动注入(自建类型)
3.1 byName注入
3.2 byType注入