第一篇:脑图篇
1.1 手绘 Spring 架构脑图
1.2 手绘 Spring5 架构脑图
1.3 手绘 Spring Security 架构脑图
1.4 手绘 Spring Boot 架构脑图
1.5 手绘Spring Cloud 架构脑图
1.6 手绘Spring MVC 架构脑图
第二篇:面试篇
2.1 Spring 灵魂100问
基本概念面试题集( Spring相关概念梳理)
-
1.谈谈对Spring loC的理解?
-
⒉谈谈对Spring Dl的理解?
-
3.BeanFactory 接口和ApplicationContext 接口不同点是什么?
-
4.请介绍你熟悉的Spring核心类,并说明有什么作用?
-
5.介绍一下 Spring 的事务的了解?
-
6.介绍一下Spring 的事务实现方式?
-
7.解释AOP模块
-
8.Spring 的通知类型有哪些,请简单介绍一下?
-
9.Spring通知类型使用场景分别有哪些?
-
10.请介绍一下你对Spring Beans的理解?
-
11.Spring 有哪些优点?
-
12.在Spring中使用hibernate的方法步骤
-
13.Spring和Struts 的区别?
-
14.Spring 框架由那几部分组成?
-
15.谈谈你对 BeanFactory的理解,BeanFactory 实现举例
-
16.谈谈对Spring 中的Web模块的理解
-
17.BeanFactory和Application contexts有什么区别?
-
18.谈谈你对Spring依赖注入的理解?
-
19.什么是 Bean装配?
-
20.什么是 Bean的自动装配?
-
21.介绍一下自动装配有几种方式?
-
22.什么是基于注解的容器配置?
-
23.简述JdbcTemplate类的作用
-
24.解释AOP
-
25.解释Aspect 切面
-
26.简述Spring AOP中的通知
-
27.Spring AOP中的织入你怎样理解?
-
28.请详细介绍一下Spring MVC 的流程?
-
29.Spring 配置文件?
-
30.@RequestMapping 注解用在类上面有什么作用
-
31.怎么样把某个请求映射到特定的方法上面
-
32.谈谈Spring 对 DAO的支持
应用场景面试题集(各知识点不同使用场景选型)
-
33.Spring配置 Bean '实例化有哪些方式?
-
34.Bean注入属性有哪几种方式
-
35.在Spring 中如何实现时间处理?
-
36.Spring 中如何更高效的使用JDBC ?
-
37.请介绍一下设计模式在Spring框架中的使用?
-
38.讲讲Spring 框架的优点有哪些?
-
39.哪种依赖注入方式你建议使用,构造器注入,还是Setter方法注入?
-
40.你怎样定义类的作用域?
-
41.解释Spring支持的几种 Bean的作用域
-
42.在 Spring 中如何注入一个Java集合?
-
43.你可以在Spring 中注入一个null和一个空字符串吗?
-
44.什么是基于Java的 Spring注解配置?给一些注解的例子
-
45.你更倾向用那种事务管理类型?
-
46.Bean的调用方式有哪些?
-
47.Spring MVC里面拦截器是怎么写的
-
48.当一个方法向AJAX返回特殊对象,壁如Object、List 等,需要做什么处理?
-
49.如何使用Spring MVC完成JSON操作
-
50.Spring 如何整合Hibernate
-
51.Spring 如何整合Struts2 ?
-
52.开发中主要使用Spring的什么技术?
-
53.介绍一下 Spring MVC常用的一些注解
-
54.Spring框架的事务管理有哪些优点
深度度知识面试题集(底层实现原理详解)
-
55.loC控制反转设计原理?
-
56.Spring 的生命周期?
-
57.Spring 如何处理线程并发问题?
-
58.核心容器((应用上下文)模块的理解?
-
59.为什么说Spring是一个容器?
-
60.Spring的优点?
-
61.Spring框架中的单例Beans 是线程安全的么?
-
62.Spring 框架中有哪些不同类型的事件?
-
63.loC的优点是什么?
-
64.解释Spring 框架中 Bean 的生命周期
-
65.什么是Spring的内部 Bean?
-
66.自动装配有哪些局限性?
-
67.Spring框架的事务管理有哪些优点?
-
68.在Spring AOP中,关注点和横切关注的区别是什么?
-
69.说说Spring AOP的底层实现原理?
-
70.如何给Spring容器提供配置元数据?
-
71.哪些是重要的 Bean生命周期方法?你能重载它们吗?
-
72.讲下 Spring MVC的执行流程
-
73.Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?
-
74.Spring中循环注入的方式?
-
75.Spring MVC比较 Struts2
拓展内容面试题集(Spring Boot相关题集)
-
76.什么是 Spring Boot?
-
77.Spring Boot自动配置的原理?
-
78.Spring Boot 读取配置文件的方式?79.什么是微服务架构?
-
80.Ribbon和Feign 的区别? 81.Spring Cloud 断路器的作用?
-
82.为什么要用Spring Boot?
-
83.Spring Boot的核心配置文件有哪几个?它们的区别是什么?
-
84.Spring Boot的配置文件有哪几种格式?它们有什么区别?
-
85.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
-
86.开启Spring Boot 特性有哪几种方式?
-
87.Spring Boot需要独立的容器运行吗?
-
88.运行Spring Boot有哪几种方式?
-
89.你如何理解Spring Boot中的 Starters?
-
90.如何在 Spring Boot启动的时候运行一些特定的代码?
-
91.Spring Boot 有哪几种读取配置的方式?
-
92.Spring Boot实现热部署有哪几种方式?
-
93.Spring Boot多套不同环境如何配置?
-
94.Spring Boot可以兼容老Spring项目吗,如何做?
-
95.什么是 Spring Cloud?
-
96.介绍一下Spring Cloud常用的组件?
-
97.Spring Cloud如何实现服务注册的?
-
98.什么是负载均衡?有什么作用?
-
99.什么是服务熔断?
-
100.请介绍一下 Ribbon 的主要作用?
2.2 Spring Boot高频25问
-
问题一 Spring Boot、Spring MVC和Spring 有什么区别?
-
问题二 什么是自动配置?
-
问题三 什么是Spring Boot Stater ?
-
问题四 你能否举一个例子来解释更多Staters的内客?
-
问题五 Spring Boot还提供了其它的哪些Starter Project Options?
-
问题六 Spring 是如何快速创建产品就绪应用程序的?
-
问题七 创建一个 Spring Boot Project 的最简单的方法是什么?
-
问题八 Spring Initializr是创建Spring Boot Projects的唯一方法吗?
-
问题九 为什么我们需要spring-boot-maven-plugin?
-
问题十 如何使用SpringBoot自动重装我的应用程序?
-
问题十一 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
-
问题十二 如何在 Spring Boot 中添加通用的JS代码?
-
问题十三 什么是 Spring Data?
-
问题十四 什么是Spring Data REST?
-
问题十五 path=“users”, collectionResourceRel="users”如何与 Spring Data Rest 一起使用?
-
问题十六当 Spring Boot应用程序作为Java应用程序运行时,后台会发生什么?
-
问题十七 我们能否在 spring-boot-starter-web中用jetty 代替tomcat?
-
问题十八 如何使用Spring Boot生成一个WAR文件?
-
问题十九 如何使用Spring Boot部署到不同的服务器?
-
问题二十 RequestMapping和GetMapping 的不同之处在哪里?
-
问题二十一 为什么我们不建议在实际的应用程序中使用Spring Data Rest?
-
问题二十二 在 Spring Initializer 中,如何改变一个项目的包名字?
-
问题二十三 可以配置application.propertierde的完整的属性列表在哪里可以找
-
问题二十四 JPA和Hibernate有哪些区别?
-
问题二十五 业务边界应该从哪一层开始?
-
问题二十六 使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?
-
问题二十七 如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?
-
问题二十八 指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?
-
问题二十九 我们如何连接一个像 MySQL 或者 Orcale 一样的外部数据库?
-
问题三十 Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?
-
问题三十一 如果 H2 不在类路径里面,会出现上面情况?
-
问题三十二 你能否举一个以 ReadOnly 为事务管理的例子?
-
问题三十四 配置文件的需求是什么?
-
问题三十五 如何使用配置文件通过 Spring Boot 配置特定环境的配置?
2.3 Spring Cloud 8问
-
问题一 什么是 Spring Cloud?
-
问题二 使用 Spring Cloud 有什么优势?
-
问题三 服务注册和发现是什么意思?
-
问题四 Spring Cloud 如何实现?
-
问题五 负载平衡的意义什么?
-
问题六 什么是 Hystrix?它如何实现容错?
-
问题七 什么是 Hystrix 断路器?我们需要它吗?
-
问题八 什么是 Spring Cloud Bus?我们需要它吗?
-
问题九 什么是 Netflix Feign?它的优点是什么?
2.4 Spring MVC 22问
-
问题一 什么是 SpringMvc?
-
问题二 Spring MVC 的优点:
-
问题三 SpringMVC 工作原理?
-
问题四 SpringMVC 流程?
-
问题五 SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
-
问题六 如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?
-
问题七 SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代?
-
问题八 @RequestMapping 注解用在类上面有什么作用?
-
问题九 怎么样把某个请求映射到特定的方法上面?
-
问题十 如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置?
-
问题十一 怎么样在方法里面得到 Request,或者 Session?
-
问题十二 我想在拦截的方法里面得到从前台传入的参数,怎么得到?
-
问题十三 如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
-
问题十四 SpringMvc 中函数的返回值是什么?
-
问题十五 SpringMVC 怎么样设定重定向和转发的?
-
问题十六 SpringMvc 用什么对象从后台向前台传递数据的?
-
问题十七 SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?
-
问题十八 怎么样把 ModelMap 里面的数据放入 Session 里面?
-
问题十九 SpringMvc 怎么和 AJAX 相互调用的?
-
问题二十 讲下 SpringMvc 的执行流程
-
问题二十一 SpringMvc 里面拦截器是怎么写的?
-
问题二十二 当一个方法向 AJAX 返回特殊对象,譬如 Object,List 等,需要做什么处理?
第三篇:进阶学习篇
3.1 Spring 进阶学习
(1)Spring高级源码解析
3.2 Spring5 进阶学习
(1)Spring5 学习手册
3.3 Spring Security 进阶学习
(1)SpringSecurity_01 认证功能实现
(2)SpringSecurity_02
(3)SpringSecurity_03 整合SpringBoot
(4)SpringSecurity_04 OAuth2.0
(5)Spring Security OAuth2.0认证授权_v1.1
3.4 Spring Boot 进阶学习
(1)Spring Boot 教程
(2)Spring Boot 核心宝典
3.5 Spring Cloud 进阶学习
(1)SpringCloud微服务架构笔记(一)
(2)SpringCloud微服务架构笔记(二)
(3)SpringCloud微服务架构笔记(三)
(4)SpringCloud微服务架构笔记(四)
3.6 Spring MVC 进阶学习
(1)精通Spring MVC 4
(2)看透Spring MVC源代码分析与实践
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。
Mybatis源码解析
144759238)]
(4)SpringCloud微服务架构笔记(四)
[外链图片转存中…(img-6DyIPgyE-1625144759241)]
3.6 Spring MVC 进阶学习
(1)精通Spring MVC 4
[外链图片转存中…(img-1dzEg31g-1625144759241)]
(2)看透Spring MVC源代码分析与实践
[外链图片转存中…(img-59bFHMkA-1625144759242)]
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。
Mybatis源码解析
[外链图片转存中…(img-g2CpoZKm-1625144759243)]