您的“关注”和“点赞”,是信任,是承认,是支持,是动力......web
如意见相佐,可留言。
本人必将不遗余力试图作到准确和全面,终其一辈子进行修改补充更新。spring
能够看一下官网给出的介绍,以下图所示:
数据库
Spring 是一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架,具备很高的凝聚力和吸引力。Spring使每一个人均可以更快,更轻松,更安全地进行Java编程。Spring对速度,简单性和生产率的关注使其成为世界上最受欢迎的 Java框架。express
Spring 是分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的 JavaBean 完成之前只可能由 EJB 完成的工做,取代了 EJB 臃肿和低效的开发模式。apache
在实际开发中,一般服务器端采用三层体系架构,分别为表现层(web)、业务逻辑层(service)、持久层(dao)。Spring 对每一层都提供了技术支持,在表现层提供了与 Struts2 框架的整合,在业务逻辑层能够管理事务和记录日志等,在持久层能够整合 Hibernate 和 JdbcTemplate 等技术。编程
Spring 框架的主要优势具体以下所示:缓存
Spring 无处不在
Spring灵活的库受到全世界开发人员的信任。Spring天天为数百万终端用户提供愉快的体验——不管是流媒体电视、联网汽车、在线购物,仍是其余无数的创新解决方案。Spring也有来自全部科技领域的巨头的贡献,包括阿里巴巴、亚马逊(Amazon)、谷歌、微软(Microsoft)等等。安全
Spring 是易扩展的,方便集成各类优秀框架
Spring灵活而全面的扩展集和第三方库让开发人员能够构建几乎任何能够想象获得的应用程序。在其核心,Spring框架的控制反转(IoC)和依赖项注入(DI)特性为普遍的特性和功能集提供了基础。不管您是为web构建安全的、反应性的、基于云的微服务,仍是为企业构建复杂的流数据流,Spring都有工具能够提供帮助。服务器
方便解耦,易于开发(简化开发)
Spring 就是一个大工厂,能够将全部对象的建立和依赖关系的维护交给 Spring 管理。微信
Spring 速度快
Spring 的工程师很是关心性能。在 Spring 中,默认状况下,您会注意到快速启动、快速关闭和优化执行。Spring 项目也愈来愈多地支持反应式(非阻塞)编程模型,以得到更高的效率。开发人员的生产力是 Spring 的超能力。与其余竞争范例相比,Spring Boot 帮助开发人员轻松构建应用程序,并且工做量要少得多。嵌入式 web 服务器、自动配置和“胖罐”帮助您快速入门,而 Spring DevTools 中的 LiveReload 等创新意味着开发人员能够比之前更快地迭代。您甚至能够在几秒钟内启动一个新的 Spring 项目,Spring Initializr 位于 start. Spring .io。
Spring 是安全的
Spring在快速和负责地处理安全问题方面有可靠的记录。Spring提交者与安全专业人员一块儿工做,修补和测试任何报告的漏洞。第三方依赖关系也被密切监视,并按期发布更新,以帮助尽量地保证数据和应用程序的安全性。此外,Spring Security使您更容易与行业标准的安全方案集成,并交付默认安全的可靠解决方案。
Spring 社区很庞大,备受支持
Spring 社区是一个庞大的、全球性的、多样化的社区,跨越了全部年龄和能力的人,从彻底的初学者到经验丰富的专业人士。不管你在旅途的哪一个地方,你均可以找到你须要的支持和资源来帮助你进入下一个阶段:快速入门、指南和教程、视频、聚会、支持,甚至是正式的培训和认证。
Spring 框架的其余优势具体以下所示:
Spring 能够应用于微服务(Microservices)、响应式编程(Reactive)、云(Cloud)、网络应用(Web app)、无服务器(Serverless)、事件驱动(Event Driven)、批处理(Batch)等任何 Java 应用的开发中。
Spring 框架采用分层架构,根据不一样的功能被划分红了多个模块,这些模块大致可分为 Data Access/Integration 层
、Web 层
、AOP 层
、Aspects 层
、Instrumentation 层
、Messaging 层
、Core Container 层
、 Test 层
,这些模块能够知足一切企业级应用开发的需求,在开发过程当中能够根据需求有选择性地使用所须要的模块。
Spring 体系结构图以下所示。
数据访问/集成层包括 JDBC、ORM、OXM、JMS 和 Transactions 模块,具体介绍以下所示:
Spring 的 Web 层包括 Web、Servlet、Struts 和 Portlet 模块,具体介绍以下所示:
Spring 的核心容器是其余模块创建的基础,由 Beans 模块、Core 核心模块、Context 上下文模块和 Expression Language 表达式语言模块组成,具体介绍以下所示:
Spring的其余模块还有 AOP、Aspects、Instrumentation 以及 Test 模块,具体介绍以下所示:
目前 Spring 框架的最新版本是5.2.6
,能够去官网下载 。
官网下载地址:
https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework/spring/5.2.6.RELEASE/spring-5.2.6.RELEASE-dist.zip
以下图所示,点击Download
下载名称为 spring-5.2.6.RELEASE-dist.zip
的压缩包。
下载完成后,解压文件 spring-5.2.6.RELEASE-dist.zip
能够获得spring-framework-5.2.6.RELEASE
文件夹,以下图所示。
打开spring-framework-5.2.6.RELEASE
文件夹,能够看到以下图所示内容。
对上图中的目录说明,
docs
目录:Spring 的 API 文档和开发规范。libs
目录:开发须要的 JAR 包和源码包。schema
目录:开发所须要的 schema 文件,在这些文件中定义了 Spring 相关配置文件的约束。在 libs
目录中,包含了 Spring 框架提供的全部 JAR 文件,其中有四个 JAR 文件是 Spring 框架的基础包,分别对应 Spring 容器的四个模块,具体以下所示:
spring-beans-5.2.6.RELEASE.jar
:全部应用都要用到的,它包含访问配置文件、建立和管理 bean 以及进行 Inversion of Control(IoC)或者 Dependency Injection(DI)操做相关的全部类。spring-context-5.2.6.RELEASE.jar
:Spring 提供在基础 IoC 功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI 定位、EJB 集成、远程访问、缓存以及各类视图层框架的封装等spring-core-5.2.6.RELEASE.jar
:包含 Spring 框架基本的核心工具类,Spring 其余组件都要用到这个包中的类,是其余组件的基本核心。spring-expression-5.2.6.RELEASE.jar
:定义了 Spring 的表达式语言。在使用 Spring 框架开发时,除了 Spring 自带的 JAR 包之外,还须要一个第三方 JAR 包 commons-logging-1.2.jar
处理日志信息。
也就是说在使用 Spring 框架时,咱们至少要将 Spring 框架的四个基础 JAR 包以及commons-logging-1.2.jar
包复制到项目的 libs
目录,并发布到类路径中便可。以下图所示: