前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >细说Spring框架之核心01-概述

细说Spring框架之核心01-概述

作者头像
编程随笔
发布2020-05-01 22:33:26
2990
发布2020-05-01 22:33:26
举报
文章被收录于专栏:后端开发随笔后端开发随笔

官网:https://spring.io/projects/spring-framework 文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/index.html

Spring框架是什么

Spring框架是整个Spring生态的核心基础,其他Spring生态项目都需要使用Spring框架提供的核心功能,如:IoC,AOP,配置注解化等等。 因此,深入学习并理解Spring框架的原理是掌握Spring其他生态项目的关键。 Spring框架提供了构建Spring生态的基础功能,具体可以划分为:

  • 核心功能:IoC容器,事件处理,资源管理,国际化支持,校验,数据绑定,类型转换,Spring表达式语言(SpEL),AOP
  • 测试:单元测试,集成测试,Spring MVC测试框架
  • 数据访问:事务管理,DAO,JDBC,对象关系映射(ORM),对象XML映射(Object-XML Mapping)
  • Web Servlet:Spring MVC,REST客户端,WebSocket
  • Web Reactive:Spring WebFlux,WebClient
  • 服务集成: 远程调用(RMI)及WebService,JMS,AMQP,JCA,JMX,邮件,任务指定和调度,缓存抽象
  • 语言支持:Kotlin,Apache Groovy

Spring框架通过一个组件化的架构实现上述功能,包含如下模块:

  • spring-core,spring-beans,spring-context,spring-aop,spring-aspects,spring-expression:框架基础,提供了IoC,AOP,Spring表达式的支持
  • spring-test:Spring提供的Mock测试框架
  • spring-jdbc,spring-orm,spring-tx:数据访问,事务管理
  • spring-web,spring-webmvc,spring-websocket:一个构建于Servlet API之上的Web框架,这也是Spring框架很早就支持的,Spring框架也因此开始流行
  • spring-webflux:Spring对响应式技术栈的支持
  • spring-jms,spring-messaging:服务集成
Spring框架组件
Spring框架组件

更多Spring框架模块详情参见:https://github.com/spring-projects/spring-framework

为什么要使用Spring框架

对于编程框架而言,其主要目的在于提高编程效率,框架对一些底层的、重复性的功能进行组件化封装,便于快速开发应用层软件系统。 因此,在不同的编程领域或语言平台,都会存在这样或那样被称为“框架”的东西,如:Netty专注于网络编程,MyBatis专注于ORM,Shiro专注于认证授权。 Spring框架也不例外,它作为一个Java平台的编程框架,实现了对Servlet编程的封装,支持面向切面编程,支持数据访问及ORM映射等,这些功能有助于我们可以快速地开发出一个能稳定运行的服务。

如何使用Spring框架

Spring框架最核心的基础是IoC,基于IoC支持AOP、封装Servlet、实现数据访问和ORM映射等等。 可以说,Spring框架涵盖了丰富多样的应用场景,我们不仅仅需要学习它提供的功能,还要掌握每个功能背后实现的原理,以及其中使用的通用软件开发原则和设计模式。Spring框架中很多非常实用的功能是通过底层JDK提供的方法实现的,比如:注解、动态代理等等,非常值得借鉴和学习。 至于如何使用Spring框架,需要根据实际的应用需求,引入对应模块的依赖即可。例如:如果只需要使用Spring框架的核心功能,只需要在项目的pom文件中添加“spring-context”依赖:

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.5.RELEASE</version>
</dependency>

显然,“spring-context”模块依赖了其他4个基础模块:“spring-aop”,“spring-beans”,“spring-core”和“spring-expression”。

spring-context模块依赖
spring-context模块依赖

【参考】 https://spring.io/projects

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring框架是什么
  • 为什么要使用Spring框架
  • 如何使用Spring框架
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档