Spring 是一款目前主流的 Java EE 轻量级开源框架 ,是 Java 世界最为成功的框架之一。在开发项目中我们肯定会用此框架,因此要是面试java的话,肯定会问spring相关题目,那spring面试题有哪些?接下来我们就来给大家讲解一下这方面的内容。
1、Spring由哪些模块组成?
Spring 总共有 20 个模块, 由 1300 多个不同的文件构成。 而这些组件被分别整合在核心容器、AOP和设备支持、数据访问与集成、Web、消息、测试 6 个模块中。
2、 什么是Spring IoC 容器。
控制反转即IoC ,它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现组件对象的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。Spring IOC 负责创建对象,管理对象,装配对象,配置对象,并且管理这些对象的整个生命周期。
3、你怎样定义类的作用域?
当在 Spring 里定义一个
4、Spring 框架中的单例 bean是线程安全的吗?
Spring 框架中的单例 bean 不是线程安全的,spring 中的 bean 默认是单例模式,Spring框架并没有对单例 bean 进行多线程的封装处理。实际上大部分时候 spring bean 是无状态的(比如 dao类),某种程度上来说 bean 也是安全的,但如果 bean 有状态的话(比如 view model 对象),那就要开发者自己去保证线程安全了。最简单的就是改变 bean 的作用域,把“singleton”变更为“prototype”,这样请求 bean 相当于 new Bean()了,就可以保证线程安全了。
5、什么是 bean 的自动装载?
Spring 容器能够自动装配相互合作的 bean,这意味着容器不需要
6、怎样开启注解装配?
注解装配在默认情况下是不开启的,为了使用注解装配,必须在 Spring 配置文件中配置context:annotation-config/元素 。
7、Spring DAO有什么用?
Spring DAO使得JDBC,Hibernate或JDO这样的数据访问技术更容易以一种传统的方式工作,这使得用户容易在持久性技术之间切换。它还允许您在编写代码的时候,无需考虑捕获每种技术不同的异常。
8、如何理解Spring中的代理?
将Advice应用于目标对象后创建的对象称为代理,在客户端对象的情况下,目标对象和代理对象是一样的。Advice+Target object=Proxy;
Spring目的是用于简化 Java 企业级应用的开发难度和开发周期。可以看出其重要性,因此在面试之前我们可以多看一些这方面题目,提高面试通关率!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: