2021 阿里 Java 高级面试题总结,Dubbo 高频面试题 + 解析
经过我自己的梳理,手绘了整个 Spring5 的架构脑图
这份 Spring5 的架构脑图我总共是将其整个知识分为以下 6 个部分:
1、Spring 框架介绍
2、IOC 容器
3、AOP
4、JdbcTemplate
5、事务管理
6、Spring5 新特性
一步一个脚印,一起来梳理整个知识框架!!
1.1 Spring5 的架构脑图——Spring 框架介绍
1.2 Spring5 的架构脑图——IOC 容器
1.3 Spring5 的架构脑图——AOP
1.4 Spring5 的架构脑图——JdbcTemplate
1.5 Spring5 的架构脑图——事务管理
1.6 Spring5 的架构脑图——Spring5 新特性
再者——对应的 Spring5 学习手册
以上所绘的 Spring5 的架构脑图其实就是对这份 Spring5 学习手册的理解,每个部分都有其对应的架构知识导图作为梳理的笔记,下图则是整个手册的全目录。
2.1 Spring5 学习手册内容介绍——Spring 框架介绍
定义:轻量级、开源的 JavaEE 框架。
目的:解决企业应用开发的复杂性。
2.2 Spring5 学习手册内容介绍——IOC 容器
IOC:控制反转,把对象的创建和对象间的调用通过 Spring 去管理,目的是为了降低程序的耦合度。
2.3 Spring5 学习手册内容介绍——AOP
AOP,面向切面编程,利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
2.4 Spring5 学习手册内容介绍——JdbcTemplate
JdbcTemplate:Spring 框架对 JDBC 进行封装,使用 JDBCTemplate 方便实现对数据库的才做
2.5 Spring5 学习手册内容介绍——事务管理
事务是数据库操作最基本单元,逻辑上的一组操作,要么都成功,如果有一个失败所有操作都失败
2.6 Spring5 学习手册内容介绍——Spring5 新特性
1.JDK 8+和 Java EE7+以上版本
整个框架的代码基于 java8
通过使用泛型等特性提高可读性
对 java8 提高直接的代码支撑
运行时兼容 JDK9
Java EE 7API 需要 Spring 相关的模块支持
运行时兼容 Java EE8 API
取消的包,类和方法
包 beans.factory.access
包 dbc.support.nativejdbc
从 spring-aspects 模块移除了包 mock.staicmock,不再提
AnnotationDrivenStaticEntityMockingControl 支持
许多不建议使用的类和方法在代码库中删除
2.核心特性
JDK8 的增强:
访问 Resuouce 时提供 getFile 或和 isFile 防御式抽象
有效的方法参数访问基于 java 8 反射增强
在 Spring 核心接口中增加了声明 default 方法的支持一贯使用 JDK7 Charset 和 StandardCharsets 的增强
兼容 JDK9
Spring 5.0 框架自带了通用的日志封装
持续实例化 via 构造函数(修改了异常处理)
Spring 5.0 框架自带了通用的日志封装
spring-jcl 替代了通用的日志,仍然支持可重写
自动检测 log4j 2.x, SLF4J, JUL(java.util.Logging)而不是其他的支持
访问 Resuouce 时提供 getFile 或和 isFile 防御式抽象
基于 NIO 的 readableChannel 也提供了这个新特性
3.核心容器
支持候选组件索引(也可以支持环境变量扫描)
支持 @Nullable 注解
函数式风格 GenericApplicationContext/AnnotationConfigApplicationContext
基本支持 bean API 注册
在接口层面使用 CGLIB 动态代理的时候,提供事物,缓存,异步注解检测
XML 配置作用域流式
Spring WebMVC
全部的 Servlet 3.1 签名支持在 Spring-provied Filter 实现
在 Spring MVC Controller 方法里支持 Servlet4.0 PushBuilder 参数
多个不可变对象的数据绑定(Kotlin/Lombok/@ConstructorPorties)
支持 jackson2.9
支持 JSON 绑定 API
支持 protobuf3
支持 Reactor3.1 Flux 和 Mono
最后——Spring5 高级编程(第 5 版)
本 PDF 涵盖 Spring 5 的所有内容,如果想要充分利用这一领先的企业级 Java 应用程序开发框架的强大功能,是最全面的 Spring 参考和实用指南。
第 5 版涵盖核心的 Spring 及其与其他领先的 Java 技术(比如 Hibemate.JPA2.Tiles、Thymeleaf 和 WebSocket)的集成。本书的重点是介绍如何使用 Java 配置类、lambda 表达式、Spring Boot 以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。
通过本 pdf,你可以学习如何完成以下事情:
使用控制反转(IoC)和依赖注入(DD)。
了解 Spring 5 中的新功能。
使用 Spring MVC 和 WebSocket 构建基于 Spring 的 Web 应用程序。
使用 Spring WebFlux 构建 Spring Web 反应式应用程序。
使用 JUnit 5 测试 Spring 应用程序。
使用新的 Java 8 lambda 语法。
使用 Spring Boot 达到更高的水平,以获取任何类型的 Spring 应用程序并立即运行。
在 Spring 应用程序中使用 Java9 的新功能。
总共包含以下 18 章的内容:
第 1 章 Spring 介绍
第 2 章 入门
第 3 章 在 Spring 中引入 loC 和 DI
第 4 章 详述 Spring 配置和 Spring Boot
第 5 章 Spring AOP
第 6 章 Spring JDBC 支持
第 7 章 在 Spring 中使用 Hibernate
第 8 章 在 Spring 中使用 JPA 2 进行数据访问
第 9 章 事务管理
第 10 章 使用类型转换和格式化进行验证
第 11 章 任务调度
第 12 章 使用 Spring 远程处理
第 13 章 Spring 测试
第 14 章 Spring 中的脚本支持
第 15 章 应用程序监控
第 16 章 Web 应用程序
第 17 章 WebSocket
第 18 章 Spring 项目:批处理、集成和 XD 等
评论