抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Spring容器(框架)

  • 定义:Spring是一个轻量级的、非入侵式的开源框架(容器)。
  • 目标和使命:简化java开发,促进代码的松散耦合。

spring容器的概念,容器可以放很多东西,程序启动的时候会创建spring容器,会给spring容器一个清单,清单中列出了需要创建的对象以及对象依赖关系,spring容器会创建和组装好清单中的对象,然后将这些对象存放在spring容器中,当程序中需要使用的时候,可以到容器中查找获取,然后直接使用。具有依赖注入功能的容器,负责对象的实例化、对象的初始化,对象和对象之间依赖关系配置、对象的销毁、对外提供对象的查找等操作,控制对象的整个生命周期。

Spring核心

  1. AOP(aspect-orientd programming)面向切面编程

  2. IOC(Inversion of Control):控制反转,是一种设计思想。IOC主要通过DI和DL来具体实现。

  • DI(Dependency Injection):依赖注入
  • DL():依赖查找
  1. 支持事务的处理,对框架整合的支持。

一句话:Spring是一个控制反转(IOC)和面向切面编程(AOP)的开源框架。

Spring Framework官方文档介绍

IOC和DI的区别??
答:IOC是目的,DI是手段。IOC通过DI来实现(DL了解)。IOC是指让生成类的方式由传统方式(new)反过来,即程序员不调用new, 需要类的时候由框架注入(DI),是从不同层面的解读。——来自知乎高分答案

IOC原理等着填:(转载)Spring IOC 知识点总结

IOC控制反转

以前,程序员使用对象的时候都需要自己去创建和组装,而现在这些创建和组装都交给spring容器去给完成了,程序员只需要去spring容器中查找需要使用的对象就可以了;这个过程中对象的创建和组装过程被反转了,之前是使用者自己主动去控制的,现在交给spring容器去创建和组装了,对象的构建过程被反转了,所以叫做控制反转;

DI 依赖注入

依赖注入是spring容器中创建对象时给其设置依赖对象的方式,比如给spring一个清单,清单中列出了需要创建B对象以及其他的一些对象(可能包含了B类型中需要依赖对象),此时spring在创建B对象的时候,会看B对象需要依赖于哪些对象,然后去查找一下清单中有没有包含这些被依赖的对象,如果有就去将其创建好,然后将其传递给B对象;可能B需要依赖于很多对象,B创建之前完全不需要知道其他对象是否存在或者其他对象在哪里以及被他们是如何创建,而spring容器会将B依赖对象主动创建好并将其注入到B中去,比如spring容器创建B的时候,发现B需要依赖于A,那么spring容器在清单中找到A的定义并将其创建好之后,注入到B对象中。

Spring 组成

参考

路人甲java——《Spring系列第2篇:控制反转(IoC)与依赖注入(DI)》

评论

Gitalk评论系统对接至Github Issue,随心评论🐾🐾.....