专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

2、Spring之核心容器

核心容器提供了Spring框架的基本功能。

主要包括:spring-core,spring-beans,spring-context,spring-context-support,spring-expression五个模块

spring-corespring-beans作为框架的基础部分,提供了IoC和依赖注入功能(DI) spring-context建立在spring-corespring-beans的基础上,是一个配置文件 spring-context-support对集成的第三方库提供支持,如:缓存(EhCache…),邮件(JavaMail),调度和模板引擎(FreeMarker…) spring-expression 表达式语言,用于在运行时查询和操作对象

spring-core的主要组件是BeanFactory,从名字得知,它是一种工厂模式的实现;

BeanFactory通过控制反转(IoC)模式将应用程序的配置和依赖性(类与类之间的关系)规范 与 实际的应用程序代码分开(尤指业务代码),从而降低了类与类之间的耦合度;

IoC(Inversion of Control)控制反转可以分为“控制”和“反转” 控制:获取对象的方式 反转:从主动获取变成了被动获取

主动式:

XxxServlet{
    //以往程序都是自己主动创建(new)对象来建立类之间的依赖关系(例如:Servlet依赖于Service)
    XxxService xs = new XxxService();
}

!!主动式:是在编译时绑定对象(即确立类之间关系)

被动式

//资源的获取不是我们自己创建,而是交给一个容器来创建和设置
//XxxServlet依赖于XxxkService,容器帮我创建XxxkService对象,并把XxxService对象赋值过去
XxxServlet{
    XxxService xs;
    public void test1(){
        xs.checkout();
    }
}

!!被动式:是在运行时绑定对象(在容器初始化 到 容器初始化完成之前确立类之间的关系)

从编译期(new)确立依赖关系变成运行期(反射)确立依赖关系,这就是Spring的解耦思路

DI(Dependency injection)依赖注入: 容器知道哪个组件(类)运行的时候,需要另外一个类(组件);容器通过反射的形式,将容器中准备的XxxService注入(利用反射给属性赋值)到XxxkServlet

文章永久链接:https://tech.souyunku.com/19301

未经允许不得转载:搜云库技术团队 » 2、Spring之核心容器

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们