论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
第1章-Spring的模块与应用场景
第1章-Spring的模块与应用场景
滴水恩情
金牌会员
|
2022-11-26 18:17:29
|
显示全部楼层
|
阅读模式
楼主
主题
887
|
帖子
887
|
积分
2661
目录
一、Spring模块
1. 核心模块
2. AOP模块
3. 消息模块
4. 数据访问模块
5. Web模块
6. 测试模块
二、集成功能
1. 目标原则
2. 支持组件
三、应用场景
1. 典型完整的 Spring Web 应用程序
2. 使用第三方 Web 框架的应用程序
3. 基于 RPC 的应用程序
4. 基于 EJB 的应用程序
Spring 框架可以为 Java 应用程序开发提供全面的基础设施支持,它是现在非常流行的 Java 开源框架,对于一个 Java 开发人员来说,熟练掌握 Spring 是必不可少的。
控制反转(IoC)和依赖注入(DI)
IoC/DI 是 Spring 的核心设计模式,它的所有组件和功能,都是基于这一模式设计的。IoC 意味着你设计好的对象交给容器控制,而不是在你的对象内部直接控制,而各个对象之间的依赖关系,是在容器运行期间决定的,容器动态地将依赖关系注入到组件中,且不关心具体的对象或资源来自何处,这大大降低了对象间的耦合度。
一、Spring模块
Spring 框架的模块:
1. 核心模块
名称功能spring-core提供 IoC 和 DI 等功能spring-beans提供 Bean 容器等功能spring-context基于 core 和 beans 模块构建,扩展了功能spring-context-support支持整合第三方工具spring-expression提供 SpEL 表达式支持
2. AOP模块
名称功能spring-aop提供 AOP(面向切面编程)支持spring-aspects提供 AspectJ 的集成spring-instrumentation提供类植入和类加载器的实现
3. 消息模块
名称功能spring-messaging提供消息功能支持
4. 数据访问模块
名称功能spring-jdbc提供 JDBC 抽象层来代替原生 JDBC 功能spring-tx提供编程式和声明式事务管理spring-orm提供主流的 ORM 框架 API 支持spring-oxm提供支持对象/XML映射抽象层spring-jms提供支持生产和消费的消息功能
5. Web模块
名称功能spring-web提供 Web 功能支持spring-webmvc提供 Web 应用程序的 MVC 和 REST Web Services 支持spring-websocket提供 Web Socket 支持
6. 测试模块
名称功能spring-test提供 JUnit 或 TestNG 等主流单元测试框架的集成
二、集成功能
Spring 对一些常用的功能组件都会基于 IoC/DI 模式来进行封装,简化其使用方式,以便开发人员开箱即用,不仅可以提高开发效率,还降低了耦合,提高了测试性和可移植性。
1. 目标原则
目标:
为复杂的企业集成解决方案提供简单的模型
便于开发基于异步、消息驱动行为的应用
使现有 Spring 用户更直观、更循序渐进地使用
原则:
降低组件的耦合度,增加了模块化和可测试性
强制区分业务逻辑和组件集成逻辑
扩展点是抽象的,增加了扩展性和可移植性
2. 支持组件
Endpoint
AMQP
Spring ApplicationEvent
File
FTP/FTPS Adapters
HTTP
JDBC
JPA
JMS
Mail
MongoDb
MQTT
Redis
Resource
RMI
RSocket
SFTP Adapters
STOMP
Stream
Syslog
TCP and UDP
WebFlux
WebSockets
Web Services
XML
Zookeeper
复制代码
三、应用场景
Spring 框架由多个模块构成,它不是一个全有或者全无的解决方案,我们完全可以按照需求使用它的全部或者部分特性。
1. 典型完整的 Spring Web 应用程序
Spring 完整使用场景:基于 Tomcat Servlet 容器,Web 层、业务层和数据持久层都使用 Spring 模块实现。
2. 使用第三方 Web 框架的应用程序
整合第三方 Web 框架:基于 Tomcat Servlet 容器,Web 层使用 Struts 等其他框架,业务层和数据持久层都使用 Spring 模块实现。
3. 基于 RPC 的应用程序
RPC 应用程序:基于 Tomcat Servlet 容器,使用Spring的 Hessian-,Rmi- 或HttpInvokerProxyFactoryBean 类构建远程调用程序。
4. 基于 EJB 的应用程序
EJB 应用程序:Spring 提供访问层和抽象层来管理 EJB。
比如我们通常使用的 SSM 框架和 SSH 框架就是 Spring 框架和第三方框架的组合形式:
Web 层业务层数据持久层SSMSpringMVCSpringMyBatisSSHStrutsSpringHibernate不管我们怎么搭建应用程序框架,Spring 都能很好的集成到我们应用程序中。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
滴水恩情
金牌会员
这个人很懒什么都没写!
楼主热帖
体系集成商重返黄金年代
ubuntu 20.04 安装好搜狗输入法无法输 ...
使用扩展函数方式,在Winform界面中快 ...
SFSafariViewController 加载的网页与 ...
接入Harbor私有仓库
一次服务器被入侵的处理过程分享 ...
【C++】STL——vector模拟实现
未来数据库需要关心的硬核创新 ...
「年终总结」写了 3 年文章的我,昨天 ...
Linux 进程概念 (上)
标签云
挺好的
服务器
浏览过的版块
运维.售后
快速回复
返回顶部
返回列表