1.IOC概述与原理

声明:Spring5系列内容来源于b站:尚硅谷,在此声明后续不再做声明。(尚硅谷的死忠粉)
文章目的是便于日常开发学习,开放便于需要的小伙伴共同学习。(不做任何商业用途)

1.概述

Spring是轻量级的开源的JavaEE框架

Spring有两个核心部分:IOC 和Aop
(1)IOC:控制反转,把创建对象过程交给Spring进行管理
(2)Aop:面向切面,不修改源代码进行功能增强

2.IOC概述与原理

1、什么是IOC

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

2、IOC底层原理

xml解析、工厂模式、反射

3、画图讲解IOC底层原理

过程:
1.读取xml配置文件中配置的bean对象
2.解析xml配置,通过反射获取bean的class对象进行实例化操作

4、IOC底层接口

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

2、Spring提供IOC容器实现两种方式:(两个接口)
(1)BeanFactory:IOC容器基本实现接口,是Spring内部的使用接口,不提供开发人员进行使用

特点:加载配置文件时候不会创建对象,在获取对象或使用对象时才去创建对象

@Test 
public void testAdd() { 
    //1 加载spring配置文件 (BeanFactory接口方式此过程不创建配置文件中对象)
    ApplicationContext context =  new ClassPathXmlApplicationContext("bean1.xml"); 
    //2 获取配置创建的对象 (BeanFactory接口方式在获取或使用对象时才创建对象)
    User user = context.getBean("user", User.class); 
    System.out.println(user); 
    user.add(); 
}

(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用

特点:加载配置文件时候就会把在配置文件中对象进行创建

@Test 
public void testAdd() { 
    //1 加载spring配置文件 (ApplicationContext接口方式此过程会创建配置文件中对象)
    ApplicationContext context =  new ClassPathXmlApplicationContext("bean1.xml"); 
    //2 获取配置创建的对象
    User user = context.getBean("user", User.class); 
    System.out.println(user); 
    user.add(); 
}

3、ApplicationContext接口有实现类

FileSystemXmlApplicationContext类方式读取磁盘上具体的文件中的配置

ClassPathXmlApplicationContext类方式读取代码工程中src目录下的xml配置文件

posted @ 2021-07-01 15:58  Lz_蚂蚱  阅读(238)  评论(0)    收藏  举报