目录
- Spring 概述
- IoC
- Aop
- 事务管理
- Webflux
- JdbcTemplate
- Spring 注解驱动开发
- 附录
Spring 概述
🤔如今这么火热的 Spring 是什么 ?
Spring 是 J2EE 轻量级的开源 JavaEE
框架,通过 Spring 框架能够简化了企业应用开发的复杂性
🎶 Spring 有两个核心部分:IOC
和AOP
- IOC:控制反转,将创建对象过程交给 Spring 进行增加
- AoP:面向切面编程,能够在不修改源代码的情况下进行功能增加「开闭原则」
Spring 5 框架的指导原则:
- Provide choice at every level
- Accommodate diverse perspectives
- Maintain strong backward compatibility
- Care about API design
- Set high standards for code quality
IoC
IoC( Inversion of Control ,控制反转),是面向对象编程中的一种设计原则,可以用来降低代码之间的耦合度,IoC 中最常见的方式有两种:依赖注入(DI)和依赖查找(DL),如果不理解什么是 IoC 可以详细了解设计模式中的 IoC 的原理
🤔 IoC 到底做了什么?
- 控制反转:将对象创建以及两个对象间调用的过程,交给 Spring 进行管理
- 管理资源:Spring 容器主动的将资源推送给需要的组件,开发人员不需要知道容器的创建过程,只需要接受资源
在 Spring 中通过三种方式能够实现 IoC:XML 解析、工厂模式和反射,可以了解 Spring 中的 IoC 使用方式
Aop
❓什么是 AoP
AoP 称之为面向切面(方面)编程,目的是:在不通过修改源代码的方法,在主干功能里面添加新功能,遵从设计原则中的「开闭原则」,类似于python
中的装饰器。AoP 的作用就是将业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低
事务管理
在 JavaEE 企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术,Spring 框架中的事务管理也是一个重点。在 Spring 框架中存在两种事务管理方式:编程式事务管理和声明式事务管理。推荐在项目开发中使用声明式事务,进行项目中的事务管理
Webflux
Webflux 是 Spring 5 增加的新模块,用于 Web 开发,功能和 SpringMVC 类似,Webflux 使用当前一种比较流行的响应式编程出现的框架
JdbcTemplate
Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作,又是一套 JDBC 操作的模板,(可以跳过不深入学习)后续对数据库的操作有更高的 ORM 框架
Spring 注解驱动开发
配置文件开发方式,方便新手入门学习并了解Spring
中的相关定义,但是编写方式十分繁琐,不容易维护,错误难以排查,以及对项目配置文件的维护增加了项目的复杂度,所以在 SpringBoot 和 SpringCloud 兴起之后,Spring 的注解驱动开发就用的非常多了!。学习 Spring 中常用的注解能够提高开发效率
附录
视频链接
官方中文文档
官方英文文档
官方文档