目录
代码已上传:https://github.com/aojiaodeRR/Spring-IOC-01.git
一、Spring 核心概念
官网网址:https://spring.io/
1. IOC 控制反转
2. AOP 面向切面编程
3. 依赖 :假设 A.class 使用 B.class 的属性和方法,则 A 依赖 B
4. 主要目的 :为了实现模块之间、类之间的解耦合。
二 、IOC 控制反转
1. 对 IOC 控制反转的描述 :把对象的创建、赋值、管理工作都交给代码之外的容器实现。(外部资源负责)
2. 控制 :创建对象、对象的属性赋值、对象之间的管理。
正转 :由开发人员在代码中,使用 new 构造方法创建对象,开发人员主动管理对象。
反转 :把原来开发人员管理、创建对象的权限转移给代码之外的容器实现。由容器代替开发人员管理对象、创建对象、给属性赋值。
容器 :可以是一个服务器软件或者一个框架(例如 :spring框架)
3. 使用 IOC 控制反转的目的 :减少对代码的改动,实现不同功能。
4. IOC 控制反转的实现 :DI 是 IOC 的技术实现(依赖注入);只需在程序中提供要使用的对象名称就可以。对象的创建、赋值、查找都由容器完成。
* Spring 使用 DI 实现 IOC 功能。
* Spring 底层通过反射机制创建对象。
三 、实现步骤
1. 创建 Maven 项目,依旧是选择 quickstart
2. 加入依赖
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-contrxt</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
3. 创建类(接口和其他实现类)和没有使用框架一样,普通的类
4. 创建 Spring 需要使用的配置文件(在Resources 目录下,用来声明类的信息,这些类由Spring创建和管理)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--<beans>是根标签,Spring把Java对象称为bean-->
<!--spring-beans.xsd 是约束文件和mybatis指定一致,声明bean通过spring创建Java对象-->
<bean id="对象的自定义名称" class="类的全限定名称">
<!--一个bean标签声明一个Java对象-->
</bean>
</beans>
5. 测试 Spring ,创建Spring的容器对象ApplicationContext
6. 使用ApplicationContext 对象的方法 ClassPathXmlApplicationContext(),new 一个参数 Config
7. ApplicationContext 对象调用 . getBean() 获取 ID
* Spring 默认创建对象时间,在创建容器时,会创建配置文件中的所有对象。
8. 获取容器中对象的API
① . get BeanDefini