Spring框架学习1.0 (尚硅谷)

https://www.bilibili.com/video/BV1Vf4y127N5?from=search&seid=18008995985851126603

关于配置文件的放置
Spring框架学习1.0_创建对象

简介

Spring下载地址
https://repo.spring.io/release/org/springframework/spring/

  • 优点
    1、Spring是一个开源免费的框架 , 容器 .
    2、Spring是一个轻量级的框架 , 非侵入式的 .
    3、控制反转 IoC , 面向切面 Aop
    4、对事物的支持 , 对框架的支持
    .......

一句话概括:
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。

Spring框架学习1.0_创建对象_02

建立Maven项目,可以导入Spring-webmvc包

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
 <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
     <version>5.3.8</version>
 </dependency>

一个简单案例(IOC的简单实现)

通过标签创建对象

  1. 使用maven导入spring-webmvc包(5.3.8版本)
  2. 创建父子工程
  3. 在"java"目录下创建新的类
  4. 在"resources"目录下创建"beans.xml"文件,用"bean"标签创建对象
  5. 在"test"目录下写测试类,进行测试

Spring框架学习1.0_配置文件_03
Spring框架学习1.0_创建对象_04
Spring框架学习1.0_spring_05

IOC:控制反转(把创建对象过程交给Spring进行管理)

什么是IOC

(1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
(2)使用IOC目的:为了耦合度降低
(3)做入门案例就是IOC实现

IOC概念与底层原理

  • xml解析、工厂模式、反射
    Spring框架学习1.0_xml_06

IOC(BeanFactory接口)

1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

2、Spring提供IOC容器实现两种方式:(两个接口)
(1)BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用
加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象

(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用
加载配置文件时候就会把在配置文件对象进行创建

3、ApplicationContext接口有实现类
Spring框架学习1.0_控制反转_07

  1. FileSystemXmlApplicationContext:"beans.xml"配置文件需要写在系统盘里的路径/例如:"file:F:/workspace/SpringExercis/src/applicationContext.xml"
  2. ClassPathXmlApplicationContext:(src文件夹下 类路径)例如:直"applicationContext.xml"

IOC操作Bean管理

  • 什么是Bean管理
    • Bean管理指的是两个操作
    • Spring创建对象
    • Spirng注入属性
  • Bean管理操作有两种方式
    • 基于xml配置文件方式实现
    • 基于注解方式实现
IOC操作Bean管理(基于xml方式)

1、基于xml方式创建对象

AOP:面向切面(不修改源代码进行功能增强)