欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring中的模塊與應(yīng)用場(chǎng)景詳解

 更新時(shí)間:2023年09月27日 09:36:07   作者:艾江南  
這篇文章主要介紹了Spring中的模塊與應(yīng)用場(chǎng)景詳解,Spring 框架可以為 Java 應(yīng)用程序開(kāi)發(fā)提供全面的基礎(chǔ)設(shè)施支持,它是現(xiàn)在非常流行的 Java 開(kāi)源框架,對(duì)于一個(gè) Java 開(kāi)發(fā)人員來(lái)說(shuō),熟練掌握 Spring 是必不可少的,需要的朋友可以參考下

前言

控制反轉(zhuǎn)(IoC)和依賴注入(DI)

IoC/DI 是 Spring 的核心設(shè)計(jì)模式,它的所有組件和功能,都是基于這一模式設(shè)計(jì)的。IoC 意味著你設(shè)計(jì)好的對(duì)象交給容器控制,而不是在你的對(duì)象內(nèi)部直接控制,而各個(gè)對(duì)象之間的依賴關(guān)系,是在容器運(yùn)行期間決定的,容器動(dòng)態(tài)地將依賴關(guān)系注入到組件中,且不關(guān)心具體的對(duì)象或資源來(lái)自何處,這大大降低了對(duì)象間的耦合度。

一、Spring模塊

Spring 框架的模塊:

圖片

1. 核心模塊

名稱功能
spring-core提供 IoC 和 DI 等功能
spring-beans提供 Bean 容器等功能
spring-context基于 core 和 beans 模塊構(gòu)建,擴(kuò)展了功能
spring-context-support支持整合第三方工具
spring-expression提供 SpEL 表達(dá)式支持

2. AOP模塊

名稱功能
spring-aop提供 AOP(面向切面編程)支持
spring-aspects提供 AspectJ 的集成
spring-instrumentation提供類(lèi)植入和類(lèi)加載器的實(shí)現(xiàn)

3. 消息模塊

名稱功能
spring-messaging提供消息功能支持

4. 數(shù)據(jù)訪問(wèn)模塊

名稱功能
spring-jdbc提供 JDBC 抽象層來(lái)代替原生 JDBC 功能
spring-tx提供編程式和聲明式事務(wù)管理
spring-orm提供主流的 ORM 框架 API 支持
spring-oxm提供支持對(duì)象/XML映射抽象層
spring-jms提供支持生產(chǎn)和消費(fèi)的消息功能

5. Web模塊

名稱功能
spring-web提供 Web 功能支持
spring-webmvc提供 Web 應(yīng)用程序的 MVC 和 REST Web Services 支持
spring-websocket提供 Web Socket 支持

6. 測(cè)試模塊

名稱功能
spring-test提供 JUnit 或 TestNG 等主流單元測(cè)試框架的集成

二、集成功能

Spring 對(duì)一些常用的功能組件都會(huì)基于 IoC/DI 模式來(lái)進(jìn)行封裝,簡(jiǎn)化其使用方式,以便開(kāi)發(fā)人員開(kāi)箱即用,不僅可以提高開(kāi)發(fā)效率,還降低了耦合,提高了測(cè)試性和可移植性。

1. 目標(biāo)原則

目標(biāo):

  • 為復(fù)雜的企業(yè)集成解決方案提供簡(jiǎn)單的模型
  • 便于開(kāi)發(fā)基于異步、消息驅(qū)動(dòng)行為的應(yīng)用
  • 使現(xiàn)有 Spring 用戶更直觀、更循序漸進(jìn)地使用

原則:

  • 降低組件的耦合度,增加了模塊化和可測(cè)試性
  • 強(qiáng)制區(qū)分業(yè)務(wù)邏輯和組件集成邏輯
  • 擴(kuò)展點(diǎn)是抽象的,增加了擴(kuò)展性和可移植性

2. 支持組件

  1. Endpoint
  2. AMQP
  3. Spring ApplicationEvent
  4. File
  5. FTP/FTPS Adapters
  6. HTTP
  7. JDBC
  8. JPA
  9. JMS
  10. Mail
  11. MongoDb
  12. MQTT
  13. Redis
  14. Resource
  15. RMI
  16. RSocket
  17. SFTP Adapters
  18. STOMP
  19. Stream
  20. Syslog
  21. TCP and UDP
  22. WebFlux
  23. WebSockets
  24. Web Services
  25. XML
  26. Zookeeper

三、應(yīng)用場(chǎng)景

Spring 框架由多個(gè)模塊構(gòu)成,它不是一個(gè)全有或者全無(wú)的解決方案,我們完全可以按照需求使用它的全部或者部分特性。

1. 典型完整的 Spring Web 應(yīng)用程序

圖片

Spring 完整使用場(chǎng)景:基于 Tomcat Servlet 容器,Web 層、業(yè)務(wù)層和數(shù)據(jù)持久層都使用 Spring 模塊實(shí)現(xiàn)。

2. 使用第三方 Web 框架的應(yīng)用程序

圖片

整合第三方 Web 框架:基于 Tomcat Servlet 容器,Web 層使用 Struts 等其他框架,業(yè)務(wù)層和數(shù)據(jù)持久層都使用 Spring 模塊實(shí)現(xiàn)。

3. 基于 RPC 的應(yīng)用程序

圖片

RPC 應(yīng)用程序:基于 Tomcat Servlet 容器,使用Spring的 Hessian-,Rmi- 或HttpInvokerProxyFactoryBean 類(lèi)構(gòu)建遠(yuǎn)程調(diào)用程序。

4. 基于 EJB 的應(yīng)用程序

圖片

EJB 應(yīng)用程序:Spring 提供訪問(wèn)層和抽象層來(lái)管理 EJB。

比如我們通常使用的 SSM 框架和 SSH 框架就是 Spring 框架和第三方框架的組合形式:

框架Web 層業(yè)務(wù)層數(shù)據(jù)持久層
SSMSpringMVCSpringMyBatis
SSHStrutsSpringHibernate

不管我們?cè)趺创罱☉?yīng)用程序框架,Spring 都能很好的集成到我們應(yīng)用程序中。

到此這篇關(guān)于Spring中的模塊與應(yīng)用場(chǎng)景詳解的文章就介紹到這了,更多相關(guān)Spring模塊與應(yīng)用場(chǎng)景內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中@ConditionalOnProperty的使用及作用詳解

    SpringBoot中@ConditionalOnProperty的使用及作用詳解

    這篇文章主要介紹了SpringBoot中@ConditionalOnProperty的使用及作用詳解,@ConditionalOnProperty通過(guò)讀取本地配置文件中的值來(lái)判斷 某些 Bean 或者 配置類(lèi) 是否加入spring 中,需要的朋友可以參考下
    2024-01-01
  • Java 關(guān)于eclipse導(dǎo)入項(xiàng)目發(fā)生的問(wèn)題及解決方法(推薦)

    Java 關(guān)于eclipse導(dǎo)入項(xiàng)目發(fā)生的問(wèn)題及解決方法(推薦)

    下面小編就為大家分享一篇Java 關(guān)于eclipse導(dǎo)入項(xiàng)目發(fā)生的問(wèn)題及解決方法(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Java8新特性之空指針異常的克星Optional類(lèi)的實(shí)現(xiàn)

    Java8新特性之空指針異常的克星Optional類(lèi)的實(shí)現(xiàn)

    這篇文章主要介紹了Java8新特性之空指針異常的克星Optional類(lèi)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • JDK  keytool證書(shū)工具功能代碼解析

    JDK keytool證書(shū)工具功能代碼解析

    這篇文章主要介紹了JDK keytool證書(shū)工具功能代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Spring線程池ThreadPoolTaskExecutor的用法及說(shuō)明

    Spring線程池ThreadPoolTaskExecutor的用法及說(shuō)明

    這篇文章主要介紹了Spring線程池ThreadPoolTaskExecutor的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mybatis動(dòng)態(tài)生成sql語(yǔ)句的實(shí)現(xiàn)示例

    mybatis動(dòng)態(tài)生成sql語(yǔ)句的實(shí)現(xiàn)示例

    在MyBatis中,動(dòng)態(tài)SQL是一個(gè)非常重要的特性,它允許我們根據(jù)條件動(dòng)態(tài)地生成SQL語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • 詳細(xì)學(xué)習(xí)Java Cookie技術(shù)(用戶登錄、瀏覽、訪問(wèn)權(quán)限)

    詳細(xì)學(xué)習(xí)Java Cookie技術(shù)(用戶登錄、瀏覽、訪問(wèn)權(quán)限)

    這篇文章主要為大家詳細(xì)介紹了Java Cookie技術(shù),顯示用戶上次登錄的時(shí)間、顯示用戶最近瀏覽的若干個(gè)圖片(按比例縮放)等,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java實(shí)現(xiàn)三子棋游戲

    Java實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 深入了解java中的逃逸分析

    深入了解java中的逃逸分析

    這篇文章主要介紹了深入了解java中的逃逸分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • java基礎(chǔ)之方法詳解

    java基礎(chǔ)之方法詳解

    這篇文章主要介紹了java基礎(chǔ)之方法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04

最新評(píng)論