【面试题精讲】Spring Framework有哪些模块?

神秘代码
• 阅读 679

首发博客地址

系列文章地址


Spring Framework是一个广泛使用的开源应用程序框架,用于构建企业级Java应用程序。它提供了许多不同的模块,用于支持各种不同的应用程序开发需求。以下是Spring Framework的一些核心模块:

  1. Spring Core Container: 这是Spring框架的核心模块,提供了IoC(控制反转)和DI(依赖注入)功能。它包括以下子模块:

    • Beans: 提供了BeanFactory和ApplicationContext等核心容器的实现,用于管理应用程序中的对象(Bean)。
    • Core: 提供了核心功能,如依赖注入、Bean的生命周期管理等。
  2. Spring AOP: 提供了面向切面编程(AOP)的支持,用于在应用程序中实现横切关注点,如日志记录、事务管理等。
  3. Spring Data Access/Integration: 提供了与数据库和其他数据源集成的支持,包括JDBC、ORM(对象关系映射)、JMS(Java消息服务)等。

    • JDBC: 简化了与数据库的交互,并提供了异常处理和资源管理。
    • ORM: 提供了对多种ORM框架(如Hibernate、JPA等)的集成支持。
    • JMS: 提供了与消息中间件的集成,支持消息驱动的应用程序。
  4. Spring Web: 提供了构建Web应用程序的支持。

    • Web MVC: 实现了MVC(Model-View-Controller)模式,用于构建Web应用程序的控制器和视图层。
    • Web WebSocket: 提供了对WebSocket协议的支持。
    • Web WebSocket Client: 提供了WebSocket客户端的支持。
    • Web WebSocket Servlet: 提供了用于处理WebSocket请求的Servlet。
  5. Spring Security: 提供了身份验证、授权和安全性功能,用于保护应用程序的资源。
  6. Spring Test: 提供了测试Spring应用程序的支持,包括单元测试和集成测试。
  7. Spring Data: 提供了更高级的数据访问和操作功能,包括对NoSQL数据库和云服务的支持。
  8. Spring Boot: 虽然不是Spring Framework的核心模块,但是Spring Boot提供了快速构建基于Spring的应用程序的工具,自动配置和简化了应用程序的开发和部署。

这些只是Spring Framework中的一些核心模块,还有许多其他模块用于提供不同类型的功能和集成支持。你可以根据应用程序的需求选择适当的模块来构建和扩展你的应用程序。

本文由mdnice多平台发布

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
8个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Apache Flink 介绍
本篇文章首发于我的微信公众号大数据技术和人工智能(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU2Njg5Nzk0NQ%3D%3D%26mid%3D2247483660%26idx%3D1%26sn%3Decf01
Stella981 Stella981
3年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
Easter79 Easter79
3年前
Spring中那些让你爱不释手的代码技巧
前言上一篇文章《spring中这些能升华代码的技巧,可能会让你爱不释手(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU4Mjk0MjkxNA%3D%3D%26mid%3D2247488519%26idx%
Stella981 Stella981
3年前
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
本文首发于:Jenkins中文社区(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fjenkinszh.cn)!huashan(https://oscimg.oschina.net/oscnet/f499d5b4f76f20cf0bce2a00af236d10265.jpg)