[toc]
| 单词 | 词性 | 音标 | 含义 |
|---|---|---|---|
| Spring | n. | /sprɪŋ/ | Spring框架(Java生态中主流的企业级应用开发框架,提供依赖注入、AOP等核心功能,简化开发) |
| infrastructure | n. | /ˈɪnfrəstrʌktʃə(r)/ | 基础设施(编程中常指项目的底层支撑组件,如数据库连接、缓存、消息队列等基础服务) |
| modular | adj. | /ˈmɒdjələ(r)/ | 模块化的(指按功能拆分组件,各自独立且可复用,如Spring的模块化设计,按需引入组件) |
| design | n. / v. | /dɪˈzaɪn/ | 设计(编程中指系统架构或组件的设计模式、结构规划,如Spring的设计遵循多种设计模式) |
| Framework | n. | /ˈfreɪmwɜːk/ | 框架(为开发提供基础结构和通用功能的工具集,如Spring Framework简化Java应用开发) |
| Inversion | n. | /ɪnˈvɜːʃn/ | 反转(编程中与Control组成"Inversion of Control",即控制反转,是Spring的核心思想) |
| Control | n. / v. | /kənˈtrəʊl/ | 控制("Inversion of Control"中表示程序执行流程的控制权,反转指将控制权从业务代码移交框架) |
| Aspect | n. | /ˈæspekt/ | 切面(AOP中的核心概念,指横切多个模块的公共功能,如日志、事务管理等) |
| Oriented | adj. | /ˈɔːrientɪd/ | 面向的(与其他词组合成编程范式,如"Object-Oriented"面向对象,"Aspect-Oriented"面向切面) |
| Programming | n. | /ˈprəʊɡræmɪŋ/ | 编程(与Oriented组合,如"Aspect-Oriented Programming"即AOP,面向切面编程,是Spring的核心特性之一) |
Lecture01-Spring简介
1、一家公司
官网地址:https://spring.io/
2、Spring旗下的众多项目
From configuration to security, web apps to big data—whatever the infrastructure needs of your application may be, there is a Spring Project to help you build it. Start small and use just what you need—Spring is modular by design.
项目列表:https://spring.io/projects

3、Spring Framework
Spring 基础框架,可以视为 Spring 基础设施,基本上任何其他 Spring 项目都是以 Spring Framework 为基础的
①Spring Framework优良特性
- 非侵入式:使用 Spring Framework 开发应用程序时,Spring 对应用程序本身的结构影响非常小。对领域模型可以做到零污染;对功能性组件也只需要使用几个简单的注解进行标记,完全不会破坏原有结构,反而能将组件结构进一步简化。这就使得基于 Spring Framework 开发应用程序时结构清晰、简洁优雅。
- 控制反转:IOC——Inversion of Control,翻转资源获取方向。把自己创建资源、向环境索取资源变成环境将资源准备好,我们享受资源注入。
- 面向切面编程:AOP——Aspect Oriented Programming,在不修改源代码的基础上增强代码功能。
- 容器:Spring IOC 是一个容器,因为它包含并且管理组件对象的生命周期。组件享受到了容器化的管理,替程序员屏蔽了组件创建过程中的大量细节,极大的降低了使用门槛,大幅度提高了开发效率。
- 组件化:Spring 实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用 XML 和 Java 注解组合这些对象。这使得我们可以基于一个个功能明确、边界清晰的组件有条不紊的搭建超大型复杂应用系统。
- 声明式:很多以前需要编写代码才能实现的功能,现在只需要声明需求即可由框架代为实现。
- 一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库。而且 Spring 旗下的项目已经覆盖了广泛领域,很多方面的功能性需求可以在 Spring Framework 的基础上全部使用 Spring 来实现。
②Spring Framework主要功能
| 分类 | 主要功能 |
|---|---|
| 核心技术 | 依赖注入、事件、资源管理、国际化(i18n)、验证、 数据绑定、类型转换、Spring表达式语言(SpEL)、面向切面编程(AOP) |
| 测试 | 模拟对象、TestContext框架、Spring MVC测试、WebTestClient |
| 数据访问 | 事务管理、DAO支持、JDBC、ORM、XML编组 |
| Web框架 | Spring MVC和Spring WebFlux Web框架 |
| 集成 | 远程调用、JMS、JCA、JMX、邮件、任务、调度、缓存和可观测性 |
| 语言支持 | Kotlin、Groovy、动态语言 |