了解Spring
Spring概述
官网地址:https://spring.io/
- Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用
- Spring 框架来创建性能好、易于测试、可重用的代码。
- Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首
次在 Apache 2.0 许可下发布。- Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。
- Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应
用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO
编程模型来促进良好的编程实践。
Spring家族
Spring家族体系包括了Spring Core、Spring Data、Spring Boot、Spring Security、Spring Cloud等,其中Spring Core很重要,然后Spring Cloud占了很大的一个模块。
Spring的发展:
第一阶段:Spring Core、Spring Security、Spring Data,低耦合、可扩展,最初用工厂模式来解耦;
第二阶段:Spring Boot。从可用到好用。开发了很多懒人包,及starter,这些懒人包的集合即Spring Boot。
第三阶段:Spring Cloud,微服务解决方案,开箱即用。
第四阶段:Spring Cloud Dataflow+容器。
Spring Framework
Spring 基础框架,可以视为 Spring 基础设施,基本上任何其他 Spring 项目都是以 Spring Framework为基础的。
Spring Framework特性
- 非侵入式:对原生技术 和 领域模型是零污染。
- 控制反转IOC:反转资源获取方向,将自己创建资源、向环境索取资源 → 环境将资源准备好、我们享受资源注入(降低对象与对象的依赖关系)。
- 面向切面AOP:在不修改源代码的基础上,将容器内对象替换成代理类,再完成注入 → 增强代码功能。
- 容器:SpringIOC是一个容器,因为它包含并且管理组件的生命周期。组件享受到了容器化的管理,替程序员屏蔽了组件创建过程中的大量细节,极大降低了使用门槛。
- 声明式:很多以前需要编写代码才能实现的功能,现在只需要声明需求即可由框架代为实现的。
- 组件化:组件即放在容器当中bean,并且使用注入完整组件的组装。
- 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的地方库。而且Spring家族系列已经覆盖了广泛的领域,很多方面的功能性需求可以在Spring Framework 的基础上全部使用Spring 来实现
Spring Framework五大功能模块(仅是Spring Framework)
功能模块 | 功能介绍 |
---|---|
Core Container | 核心容器、在Spring环境下使用任何功能都必须基于IOC容器。 |
AOP & Aspects | 面向切面编程 |
Testing | 提供了对Junit 或 TestNG 测试框架的整合 |
Data Access / Integration | 提供了对数据访问/集成的功能 (SpringJDBC) |
Spring MVC | 提供了面向Web应用程序的集成功能 |
公众号本文地址:https://mp.weixin.qq.com/s/kGs659rAUe0NqOxlR5FVcA
欢迎关注公众号:愚生浅末。