Spring——简介和IOC底层原理

Spring——简介和IOC底层原理

Spring5 框架概述

1、Spring 是轻量级的开源的 JavaEE 框架
2、Spring 可以解决企业应用开发的复杂性
3、Spring 有两个核心部分:IOC 和 Aop
(1)IOC:控制反转,把创建对象过程交给 Spring 进行管理
(2)Aop:面向切面,不修改源代码进行功能增强
4、Spring 特点
(1)方便解耦,简化开发
(2)Aop 编程支持
(3)方便程序测试
(4)方便和其他框架进行整合
(5)方便进行事务操作
(6)降低 API 开发难度
5、本人学习中,选取 Spring 版本 5

IOC(概念和原理)

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

2、IOC 底层原理
xml 解析、工厂模式、反射

Spring——简介和IOC底层原理_第1张图片

入门案例:

先创建一个普通类:

public class User {
       public void add() {
             System.out.println("add......");
        }
}

创建 Spring 配置文件,在配置文件配置创建的对象 :

Spring——简介和IOC底层原理_第2张图片
进行测试代码编写:

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

结果:
在这里插入图片描述

IOC(BeanFactory 接口)

1、IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂。
2、Spring 提供 IOC 容器实现两种方式:(两个接口)。
(1)BeanFactory:IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用

  • 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象。

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

  • 加载配置文件时候就会把在配置文件对象进行创建。

3、ApplicationContext 接口有常用的两个实现类:

ClassPathXmlApplicationContext:它可以加载类路径下的配置文件,要求配置文件必须在类路径下。不在的话,加载不了。(更常用)。
FileSystemXmlApplicationContext:它可以加载磁盘任意路径下的配置文件(必须有访问权限)。

你可能感兴趣的:(Spring框架,spring,java,面试,后端)