没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
30页
25个经典的Spring面试问答,Spring面试常见的问题与回答。 在准备Spring框架的面试时,应掌握的核心主题和概念包括: Spring Framework简介:了解Spring框架的核心理念,包括依赖注入(DI)和面向切面编程(AOP)。 Spring Boot:熟悉Spring Boot,知道如何创建和管理Spring Boot项目,以及如何使用Spring Boot的自动配置功能。 Spring MVC:熟悉Spring MVC,知道如何使用它来构建Web应用程序。 Spring Data:熟悉Spring Data,了解如何使用它来简化数据库交互。 Spring Security:了解Spring Security,知道如何使用它来保护应用程序。 配置与注解:理解Spring的XML配置和注解配置,并能够在这两种配置方式中进行选择。 Spring AOP与AspectJ:理解Spring AOP的概念,以及如何使用AspectJ实现AOP。 Spring与其它技术集成:了解Spring与其它技术的集成,例如与JPA、Hibernate、Thymeleaf等的集成。 S
资源推荐
资源详情
资源评论
25 个经典的 Spring 面试问答
本人收集了一些在大家在面试时被经常问及的关于 Spring 的主要问题,这些问题有可能
在你下次面试时就会被问到。对于本文中未提及的 Spring 其他模块,我会单独分享面试
的问题和答案。
欢迎大家向我推荐你在面试过程中遇到关于 Spring 的问题。我会把大家推荐的问题添加
到下面的 Spring 常用面试题清单中供大家参考。
问题清单:
1. 什么是 Spring 框架?Spring 框架有哪些主要模块?
2. 使用 Spring 框架有什么好处?
3. 什么是控制反转(IOC)?什么是依赖注入?
4. 请解释下 Spring 中的 IOC?
5. BeanFactory 和 ApplicationContext 有什么区别?
6. 将 Spring 配置到你的应用中共有几种方法?
7. 什么基于 XML 的配置?
8. 什么基 Java 的配置?
9. 怎样用注解的方式配置 Spring?
10. 描述 Spring Bean 的生命周期?
11. 描述 Spring 中各种 Bean 的范围?
12. 什么是 Spring 的嵌入 beans?
13. Spring 框架中的单例 bean 是否是线程安全的?
14. 请举例说明如何用 Spring 注入一个 Java 的集合类?
15. 请举例说明如何在 Spring 的 Bean 中注入一个 java.util.Properties?
16. 请解释 Spring 的 Bean 的自动生成原理?
17. 请辨析自动生成 Bean 之间模块的区别?
18. 如何开启基于基于注解的自动写入?
19. 请举例说明@Required 注解?
20. 请举例说明@Autowired 注解?
21. 请举例说明@Qualifier 注解?
22. 请说明构造器注入和 setter 方法注入之间的区别?
23. Spring 框架中不同类型 event 有什么区别?
24. FileSystemResource 和 ClassPathResource 有何区别?
25. 请列举 Spring 框架中用了哪些设计模式?
1、什么是 Spring 框架?Spring 框架有哪些主要模块?
Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。
Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开
发。Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集
成 Spring 框架,不必担心 Spring 是如何在后台进行工作的。
Spring 框架至今已集成了 20 多个模块。这些模块主要被分如下图所示的核心容器、数据
访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。
2、使用 Spring 框架能带来哪些好处?
下面列举了一些使用 Spring 框架带来的主要好处:
� Dependency Injection(DI) 方法使得构造器和 JavaBean properties 文件中的依赖
关系一目了然。
� 与 EJB 容器相比较,IoC 容器更加趋向于轻量级。这样一来 IoC 容器在有限的内存和
CPU 资源的情况下进行应用程序的开发和发布就变得十分有利。
� Spring 并没有闭门造车,Spring 利用了已有的技术比如 ORM 框架、logging 框架、
J2EE、Quartz 和 JDK Timer,以及其他视图技术。
� Spring 框架是按照模块的形式来组织的。由包和类的编号就可以看出其所属的模块,
开发者仅仅需要选用他们需要的模块即可。
� 要测试一项用 Spring 开发的应用程序十分简单,因为测试相关的环境代码都已经囊括
在框架中了。更加简单的是,利用 JavaBean 形式的 POJO 类,可以很方便的利用依
赖注入来写入测试数据。
� Spring 的 Web 框架亦是一个精心设计的 Web MVC 框架,为开发者们在 web 框架
的选择上提供了一个除了主流框架比如 Struts、过度设计的、不流行 web 框架的以外
的有力选项。
� Spring 提供了一个便捷的事务管理接口,适用于小型的本地事物处理(比如在单 DB
的环境下)和复杂的共同事物处理(比如利用 JTA 的复杂 DB 环境)。
3、什么是控制反转(IOC)?什么是依赖注入(DI)?
控制反转是应用于软件工程领域中的,在运行时被装配器对象来绑定耦合对象的一种编程
技巧,对象之间耦合关系在编译时通常是未知的。在传统的编程方式中,业务逻辑的流程
是由应用程序中的早已被设定好关联关系的对象来决定的。在使用控制反转的情况下,业
务逻辑的流程是由对象关系图来决定的,该对象关系图由装配器负责实例化,这种实现方
式还可以将对象之间的关联关系的定义抽象化。而绑定的过程是通过“依赖注入”实现
的。
控制反转是一种以给予应用程序中目标组件更多控制为目的设计范式,并在我们的实际工
作中起到了有效的作用。
依赖注入是在编译阶段尚未知所需的功能是来自哪个的类的情况下,将其他对象所依赖的
功能对象实例化的模式。这就需要一种机制用来激活相应的组件以提供特定的功能,所以
依赖注入是控制反转的基础。否则如果在组件不受框架控制的情况下,框架又怎么知道要
创建哪个组件?
在 Java 中依然注入有以下三种实现方式:
1. 构造器注入
2. Setter 方法注入
3. 接口注入
4、请解释下 Spring 框架中的 IoC?
Spring 中的 org.springframework.beans 包和 org.springframework.context 包构成了 S
pring 框架 IoC 容器的基础。
BeanFactory 接口提供了一个先进的配置机制,使得任何类型的对象的配置成为可能。Ap
plicationContex 接口对 BeanFactory(是一个子接口)进行了扩展,在 BeanFactory 的
基础上添加了其他功能,比如与 Spring 的 AOP 更容易集成,也提供了处理 message re
source 的机制(用于国际化)、事件传播以及应用层的特别配置,比如针对 Web 应用的
WebApplicationContext。
org.springframework.beans.factory.BeanFactory 是 Spring IoC 容器的具体实现,用
来包装和管理前面提到的各种 bean。BeanFactory 接口是 Spring IoC 容器的核心接
口。
5、BeanFactory 和 ApplicationContext 有什么区别?
BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定
义,以便在接收到客户端请求时将对应的 bean 实例化。
BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean
客户端的配置中解放出来。BeanFactory 还包含了 bean 生命周期的控制,调用客户端的
初始化方法(initialization methods)和销毁方法(destruction methods)。
剩余29页未读,继续阅读
资源评论
张飞的猪大数据
- 粉丝: 3318
- 资源: 41
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功