Java面试必问的69道Spring知识点,不要再用"没有时间来
2019-09-27 本文已影响0人
70b39f9dc443
Spring 概述
什么是spring?
Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。
使用Spring框架的好处是什么?
轻量:Spring 是轻量的,基本的版本大约2MB
控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们
面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开
容器:Spring 包含并管理应用中对象的生命周期和配置
MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品
事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)
异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常
Spring由哪些模块组成?
以下是Spring 框架的基本模块:
- Core module
- Bean module
- Context module
- Expression Language module
- JDBC module
- ORM module
- OXM module
- Java Messaging Service(JMS) module
- Transaction module
- Web module
- Web-Servlet module
- Web-Struts module
- Web-Portlet module
面试官都爱问的Spring高频面试题在这里小编整理出了69道最全Spring面试题
以下就是Spring面试问题,(以下不分顺序的)
- 核心容器(应用上下文) 模块
- BeanFactory – BeanFactory 实现举例
- XMLBeanFactory
- 解释AOP模块
- 解释JDBC抽象和DAO模块
- 解释对象/关系映射集成模块
- 解释WEB 模块
- Spring配置文件
- 什么是Spring IOC 容器?
- 什么是控制反转(IOC)?什么是依赖注入?
- 请解释下 Spring 框架中的 IoC?
- IOC的优点是什么?
- ApplicationContext通常的实现是什么?
- Bean 工厂和 Application contexts 有什么区别?
- 如何用基于 XML 配置的方式配置 Spring?
- 一个Spring的应用看起来象什么?
- 什么是Spring的依赖注入?
- 有哪些不同类型的IOC(依赖注入)方式?
- 哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?
- 什么是Spring beans?
- 一个 Spring Bean 定义 包含什么?
- 如何给Spring 容器提供配置元数据?
- 你怎样定义类的作用域?
- 解释Spring支持的几种bean的作用域
- Spring框架中的单例bean是线程安全的吗?
- 解释Spring框架中bean的生命周期
- Spring Bean 的作用域之间有什么区别?
- 哪些是重要的bean生命周期方法? 你能重载它们吗?
- 什么是Spring的内部bean?
- 在 Spring中如何注入一个java集合?
- 什么是bean装配?
- 请解释 Spring Bean 的自动装配?
- 解释不同方式的自动装配
- 如何开启基于注解的自动装配?
- 什么是 Spring inner beans?
- Spring 框架中的单例 Beans 是线程安全的么?
- 自动装配有哪些局限性?
- 你可以在Spring中注入一个null 和一个空字符串吗?
- 什么是基于Java的Spring注解配置? 给一些注解的例子
- 什么是基于注解的容器配置?
- 怎样开启注解装配?
- 请举例说明如何在 Spring 中注入一个 Java Collection?
- 如何向 Spring Bean 中注入一个 Java.util.Properties?
- 请举例解释下@Required 注解
- 请举例解释下@Autowired 注解
- 请举例解释下 @Qualifier 注解
- 在Spring框架中如何更有效地使用JDBC?
- 构造方法注入和设值注入有什么区别?
- 开发中主要使用 Spring 的什么技术 ?
- 简述 AOP 和 IOC 概念 AOP
- IOC 容器对 Bean 的生命周期:
- Spring 框架中有哪些不同类型的事件?
- Spring对DAO的支持
- 使用Spring通过什么方式访问Hibernate?
- Spring支持的ORM
- 如何通过HibernateDaoSupport将Spring和Hibernate结合起来?
- FileSystemResource 和 ClassPathResource 有何区别?
- Spring支持的事务管理类型
- Spring 框架中都用到了哪些设计模式?
- Spring框架的事务管理有哪些优点?
- 你更倾向用那种事务管理类型?
- 解释AOP Aspect 切面
- 在Spring AOP 中,关注点和横切关注的区别是什么?
- 有几种不同类型的自动代理?
- 什么是织入。什么是织入应用的不同点?
- 解释基于XML Schema方式的切面实现
- 解释基于注解的切面实现
- 什么是Spring的MVC框架?
- 什么是Spring MVC框架的控制器?
希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。由于答案内容实在太多啦,平台字数限制,所以只把部分答案截图出来介绍
有需要获取面试体系文档的朋友可以点击链接:
tps://shimo.im/docs/q8vHRWa3nqgfuH4B/
即可免费获取整理好的文档也可以一起和小伙伴们探讨面试心得与技术交流