javascript
Spring5的核心容器
由spring-beans、spring-core、spring-context 和spring-expression(Spring Expression Language,SpEL) 4 個(gè)模塊組成。
spring-core 和spring-beans 模塊是Spring 框架的核心模塊,包含了控制反轉(zhuǎn)(Inversion of Control, IOC)和依賴注入(Dependency Injection, DI)。BeanFactory 接口是Spring 框架中的核心接口,它是工廠模式的具體實(shí)現(xiàn)。BeanFactory 使用控制反轉(zhuǎn)對(duì)應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼進(jìn)行了分離。但BeanFactory 容器實(shí)例化后并不會(huì)自動(dòng)實(shí)例化Bean,只有當(dāng)Bean 被使用時(shí)BeanFactory 容器才會(huì)對(duì)該Bean 進(jìn)行實(shí)例化與依賴關(guān)系的裝配。
spring-context 模塊構(gòu)架于核心模塊之上,他擴(kuò)展了BeanFactory,為她添加了Bean 生命周期控制、框架事件體系以及資源加載透明化等功能。此外該模塊還提供了許多企業(yè)級(jí)支持,如郵件訪問、遠(yuǎn)程訪問、任務(wù)調(diào)度等,ApplicationContext 是該模塊的核心接口,她的超類是BeanFactory。與BeanFactory 不同,ApplicationContext 容器實(shí)例化后會(huì)自動(dòng)對(duì)所有的單實(shí)例Bean 進(jìn)行實(shí)例化與依賴關(guān)系的裝配,使之處于待用狀態(tài)。
spring-context-support 模塊是對(duì)Spring IOC 容器的擴(kuò)展支持,以及IOC 子容器。
spring-context-indexer 模塊是Spring 的類管理組件和Classpath 掃描。
spring-expression 模塊是統(tǒng)一表達(dá)式語言(EL)的擴(kuò)展模塊,可以查詢、管理運(yùn)行中的對(duì)象,同時(shí)也方便的可以調(diào)用對(duì)象方法、操作數(shù)組、集合等。它的語法類似于傳統(tǒng)EL,但提供了額外的功能,最出色的要數(shù)函數(shù)調(diào)用和簡(jiǎn)單字符串的模板函數(shù)。這種語言的特性是基于Spring 產(chǎn)品的需求而設(shè)計(jì),他可以非常方便地同Spring IOC 進(jìn)行交互。
?
總結(jié)
以上是生活随笔為你收集整理的Spring5的核心容器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring5的系统架构
- 下一篇: Spring5的AOP 和设备支持