你对spring的理解,spring是什么
2019-7-6 我的理解
Spring是整个Spring全家桶框架的核心部分,Spring的核心技术就是IOC(Inversion of Control)的设计原则和AOP(Aspect Oriented Programming)技术。
Spring框架中至今包含了Spring、Spring Framwork、Spring MVC、Spring boot、Spring cloud。
查资料总结
Spring框架官方文档
Spring Framework组成模块
- 核心容器Core
- 配置模型
- 控制反转/依赖注入
- 消息传递
- 事务数据
- 持久性
- MVC web
- Spring WebFlux
以下是Spring Framework的指导原则
- 提供各个层面的选择。Spring允许您尽可能晚地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。许多其他基础架构问题以及与第三方API的集成也是如此。
- 适应不同的观点。Spring拥抱灵活性,并不认为应该如何做。它以不同的视角支持广泛的应用需求。
- 保持强大的向后兼容性。Spring的演变经过精心设计,可以在版本之间进行一些重大改变。Spring支持精心挑选的JDK版本和第三方库,以便于维护依赖于Spring的应用程序和库。
- 关心API设计。Spring团队花了很多心思和时间来制作直观的API,这些API在很多版本和多年中都有用。
- 为代码质量设定高标准。Spring Framework非常强调有意义的,最新的和准确的javadoc。它是极少数项目之一,可以声称干净的代码结构,包之间没有循环依赖。
查询资料之后的理解
这里问的Spring其实就是Srping Framework,Spring Framework就是一个轻量级的易于组装的基础框架,Spring其它项目都构建在Spring Framework之上,而Spring Framwork其中最核心的技术,也是处处会用到的技术那就是IOC(Inversion of Control)和AOP(Aspect Oriented Programming)了。至于其它的一些技术和思想那都是针对不同的应用场景而产生的不同的模块了。
Spring Framework七个模块组成,但是Spring Framework版本不同区分方式也不同
以最新的5.0.x为列,Spring Framework组成部分是
- 核心(Core):IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP.
- 测试(Testing):Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient.
- 数据访问(Data Access):Transactions, DAO Support, JDBC, O/R Mapping, XML Marshalling.
- Web应用程序(Web Servlet):Spring MVC, WebSocket, SockJS, STOMP Messaging.
- 响应式Web编程(Web Reactive):Spring WebFlux, WebClient, WebSocket.
- 集成(Integration):Remoting, JMS, JCA, JMX, Email, Tasks, Scheduling, Caching.