前言
Spring这个词对于开发者想必不会陌生,可能你每天都在使用Spring,享受着Spring生态提供的服务,理所当然的用着SpringIOC和SpringAOP去实现老板交给你的功能 ,唔 它就是这样使用的(类声明为Bean组件,然后注入),没错 能完成老板任务,没毛病。如果向你提问什么是Spring,Spring有什么核心功能呢,你会想:这太简单了,Spring就是框架嘛,Spring核心功能就是IOC和AOP,So Easy!可是你真的了解Spring吗?
Spring是一个开源框架,最早由Rod Johnson创建,是为了解决企业级应用开发的复杂性而创建的。很多框架都宣称在某些方面针对Java开发做出了简化,但是Spring的目标是致力于全方位简化Java开发,这也是Spring的根本使命 "简化Java开发"。
关于Spring的知识总结了个思维导图分享给大家
有人说:2020年还不懂spring就放弃Java吧?全网最热门的119个spring问题,你会多少?让我们来看看下面这些问题!
Spring 面试题(一)
1、一般问题
1.1、不同版本的 Spring Framework 有哪些主要功能?
1.2、什么是 Spring Framework?
1.3、列举 Spring Framework 的优点。
1.4、Spring Framework 有哪些不同的功能?
1.5、Spring Framework 中有多少个模块,它们分别是什么?
1.6、什么是 Spring 配置文件?
1.7、Spring 应用程序有哪些不同组件?
1.8、使用 Spring 有哪些方式?
2、依赖注入(Ioc)
2.1、什么是 Spring IOC 容器?
2.2、什么是依赖注入?
2.3、可以通过多少种方式完成依赖注入?..
2.4、区分构造函数注入和 setter 注入。.
2.5、spring 中有多少种 IOC 容器?
2.6、区分 BeanFactory 和 ApplicationContext。
2.7、列举 IoC 的一些好处。
2.8、Spring IoC 的实现机制。
3、Beans
3.1、什么是 spring bean?
3.2、spring 提供了哪些配置方式?
3.3、spring 支持集中 bean scope?
3.4、spring bean 容器的生命周期是什么样的?
3.5、什么是 spring 的内部 bean?
3.6、什么是 spring 装配
3.7、自动装配有哪些方式?
3.8、自动装配有什么局限?
4、注解
4.1、什么是基于注解的容器配置
4.2、如何在 spring 中启动注解装配?
4.3、@Component, @Controller, @Repository, @Service 有何区别?
4.4、@Required 注解有什么用?
4.5、@Autowired 注解有什么用?
4.6、@Qualifier 注解有什么用?
4.7、@RequestMapping 注解有什么用?
5、数据访问
5.1、spring DAO 有什么用?
5.2、列举 Spring DAO 抛出的异常。
5.3、spring JDBC API 中存在哪些类?
5.4、使用 Spring 访问 Hibernate 的方法有哪些?
5.5、列举 spring 支持的事务管理类型
5.6、spring 支持哪些 ORM 框架
6、AOP
6.1、什么是 AOP?
6.2、什么是 Aspect?
6.3、什么是切点(JoinPoint)
6.4、什么是通知(Advice)?
6.5、有哪些类型的通知(Advice)?
6.6、指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处。
6.7、AOP 有哪些实现方式?
6.8、Spring AOP and AspectJ AOP 有什么区别?
6.9、如何理解 Spring 中的代理?
6.10、什么是编织(Weaving)?
7、MVC
7.1、Spring MVC 框架有什么用?
7.2、描述一下 DispatcherServlet 的工作流程
7.3、介绍一下 WebApplicationContext.
Spring 面试题(二)
1、什么是 spring?
2、使用 Spring 框架的好处是什么?
3、Spring 由哪些模块组成?
4、核心容器(应用上下文) 模块。
5、BeanFactory – BeanFactory 实现举例。
6、XMLBeanFactory
7、解释 AOP 模块
8、解释 JDBC 抽象和 DAO 模块。
9、解释对象/关系映射集成模块。
10、解释 WEB 模块。
12、Spring 配置文件
13、什么是 Spring IOC 容器?
14、IOC 的优点是什么?
15、ApplicationContext 通常的实现是什么?
16、Bean 工厂和 Application contexts 有什么区别?
17、一个 Spring 的应用看起来象什么?
依赖注入
18、什么是 Spring 的依赖注入?
19、有哪些不同类型的 IOC(依赖注入)方式?
20、哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?
Spring Beans
21.什么是 Spring beans?
22、一个 Spring Bean 定义 包含什么?
23、如何给 Spring 容器提供配置元数据?
24、你怎样定义类的作用域?
25、解释 Spring 支持的几种 bean 的作用域。
26、Spring 框架中的单例 bean 是线程安全的吗?
27、解释 Spring 框架中 bean 的生命周期。
28、哪些是重要的 bean 生命周期方法?你能重载它们吗?
29、什么是 Spring 的内部 bean?
30、在 Spring 中如何注入一个 java 集合?
31、什么是 bean 装配?
32、什么是 bean 的自动装配?
33、解释不同方式的自动装配 。
34.自动装配有哪些局限性 ?
35、你可以在 Spring 中注入一个 null 和一个空字符串吗?
Spring 注解
36、什么是基于 Java 的 Spring 注解配置? 给一些注解的例子
37、什么是基于注解的容器配置?
38、怎样开启注解装配?
39、@Required 注解
40、@Autowired 注解
41、@Qualifier 注解
Spring 数据访问
42.在 Spring 框架中如何更有效地使用 JDBC?
43、JdbcTemplate
44、Spring 对 DAO 的支持
45、使用 Spring 通过什么方式访问 Hibernate?
46、Spring 支持的 ORM
47.如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来?
48、Spring 支持的事务管理类型
49、Spring 框架的事务管理有哪些优点?
50、你更倾向用那种事务管理类型?
Spring 面向切面编程(AOP)
51、解释 AOP
52、Aspect 切面
52、在 Spring AOP 中,关注点和横切关注的区别是什么?
54、连接点
55、通知
56、切点
57、什么是引入?
58、什么是目标对象?
59、什么是代理?
60、有几种不同类型的自动代理?
61、什么是织入。什么是织入应用的不同点?
62、解释基于 XML Schema 方式的切面实现。
63、解释基于注解的切面实现
Spring 的 MVC
64、什么是 Spring 的 MVC 框架?
65、DispatcherServlet
66、WebApplicationContext
67、什么是 Spring MVC 框架的控制器?
68、@Controller 注解
69、@RequestMapping 注解
上面的这些问题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。
关于这119个全网最热门的spring问题,总结了40多页pdf文档,关注公种浩:程序员追风,回复 0109 可以获取。
希望能帮助到你面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
总结
按照 Spring 官方最新的说法,Spring 是现代 Java 的起源。
不可否认,Spring 无论在 Java 生态系统,还是在就业市场,是绝对的王者。面试出镜率之高,投产规模之广,无出其右。随着技术的发展,Spring 从往日的 IoC 框架,已发展成 Cloud Native 基础设施,衍生出大量 Spring 技术栈,如大家熟知的 Spring Boot、Spring Cloud 和 Spring Security 等。因此,Spring 生态体系随之变得庞大,如 Apache Dubbo 对 Spring Framework 的整合,各类中间件 Spring Boot Starter,以及多种 Spring Cloud 实现方案。
最后
欢迎大家一起交流,喜欢文章记得关注我点个赞哟,感谢支持!