java开发面试题:spring面试题总结

今天分享的java实习生常见面试题,是spring专场,主要是针对spring总结的面试题,有需要的小伙伴可以收入囊中了!

1、 Spring Framework 中有多少个模块,它们分别是什么?

Spring 核心容器 – 该层基本上是 Spring Framework 的核心。它包含以下模块:

Spring Core

Spring Bean

SpEL (Spring Expression Language)

Spring Context

数据访问/集成 – 该层提供与数据库交互的支持。它包含以下模块:

JDBC (Java DataBase Connectivity)

ORM (Object Relational Mapping)

OXM (Object XML Mappers)

JMS (Java Messaging Service)

Transaction

Web – 该层提供了创建 Web 应用程序的支持。它包含以下模块:

Web

Web – Servlet

Web – Socket

Web – Portlet

AOP – 该层支持面向切面编程

Instrumentation – 该层为类检测和类加载器实现提供支持。

Test – 该层为使用 JUnit 和 TestNG 进行测试提供支持。

几个杂项模块:

Messaging – 该模块为 STOMP 提供支持。它还支持注解编程模型,该模型用于从 WebSocket 客户端路由和处理 STOMP 消息。

Aspects – 该模块为与 AspectJ 的集成提供支持。

2、什么是 Spring 配置文件?

Spring 配置文件是 XML 文件。该文件主要包含类信息。它描述了这些类是如何配置以及相互引入的。但是,XML 配置文件冗长且更加干净。如果没有正确规划和编写,那么在大项目中管理变得非常困难。

3、Spring 应用程序有哪些不同组件?

Spring 应用一般有以下组件:

接口 - 定义功能。

Bean 类 - 它包含属性,setter 和 getter 方法,函数等。

Spring 面向切面编程(AOP) - 提供面向切面编程的功能。

Bean 配置文件 - 包含类的信息以及如何配置它们。

用户程序 - 它使用接口。

4、spring 中有多少种 IOC 容器?

BeanFactory - BeanFactory 就像一个包含 bean 集合的工厂类。它会在客户端要求时实例化 bean。

ApplicationContext - ApplicationContext 接口扩展了 BeanFactory 接口。它在 BeanFactory 基础上提供了一些额外的功能。

5、spring 支持集中 bean scope?

Spring bean 支持 5 种 scope:

Singleton - 每个 Spring IoC 容器仅有一个单实例。

Prototype - 每次请求都会产生一个新的实例。

Request - 每一次 HTTP 请求都会产生一个新的实例,并且该 bean 仅在当前 HTTP 请求内有效。

Session - 每一次 HTTP 请求都会产生一个新的 bean,同时该 bean 仅在当前 HTTP session 内有效。

Global-session - 类似于标准的 HTTP Session 作用域,不过它仅仅在基于 portlet 的 web 应用中才有意义。Portlet 规范定义了全局 Session 的概念,它被所有构成某个 portlet web 应用的各种不同的 portlet 所共享。在 global session 作用域中定义的 bean 被限定于全局 portlet Session 的生命周期范围内。如果你在 web 中使用 global session 作用域来标识 bean,那么 web 会自动当成 session 类型来使用。

仅当用户使用支持 Web 的 ApplicationContext 时,最后三个才可用。

6、Spring MVC 框架有什么用?

Spring Web MVC 框架提供 模型-视图-控制器 架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。 MVC 模式有助于分离应用程序的不同方面,如输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。

未完待续……

原文地址:http://blog.51cto.com/14070466/2319016

时间: 2024-11-05 13:03:58

java开发面试题:spring面试题总结的相关文章

Java开发面试题归类( 题目篇)

准备根据面试题来系统把知识点归纳总结学习一下,先将题目罗列出来! 一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯... 4. 描述一下ArrayList和LinkedList各自实现和区别 5. Java中的队列都有哪些,有什么区别. 6. 反射中,Class.forName和classloader的区别 7. Java7.Java8的新特性(bai

最新Java开发面试题汇总

原文地址:www.jianshu.com/p/faaa4c2a4-前言为了方便之后的面试复习,我把各类面试题给汇总了一下,每道题都是经过自己筛选后觉得需要掌握的,此次整理包括 Java.数据结构与算法.计算机网络.操作系统.数据库等.文末我会把这些完整的答案放送给大家.Java 篇(1). Java基础知识java中==和equals和hashCode的区别int与integer的区别抽象类的意义接口和抽象类的区别能否创建一个包含可变对象的不可变对象?谈谈对java多态的理解String.Str

java 开发面试题小整理(二)

51.Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口? 答:可以继承其他类或实现其他接口,在Swing编程和Android开发中常用此方式来实现事件监听和回调. 52.内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制? 答:一个内部类对象可以访问创建它的外部类对象的成员,包括私有成员. 53.Java 中的final关键字有哪些用法? 答:(1)修饰类:表示该类不能被继承: (2)修饰方法:表示方法不能被重写: (3)修饰变量:表示变量只能

Java开发面试题整理(2019春招)

一.Java基础部分 1. HashMap和Hashtable各有什么特点,它们有什么区别?(必背题,超级重要) HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别.主要的区别有:线程安全性,同步(synchronization),以及速度. HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不

Java开发面试题,3年工作经验的Java程序员面试经

一.Java基础部分 1.使用length属性获取数组长度,public.private.protected.friendly区别 2.Collection和Collections区别 3.String s=new String('xyz');创建了几个object对象 4.short s1; s1=s1+1;是否有错? 5.Overriding和Overloading区别 6.Set里面的元素不能重复,用什么方法区分重复与否. 7.给出一个常见的runtime exception. 8.err

Java开发面试题

1.Java的基本数据类型有哪些?对应的包装类? 2.开发过程中对String字符串操作的方法(函数)有哪些?分别是什么作用? 3.怎么定义静态变量或方法,静态方法.变量有什么特点,如何使用? 定义:静态数据成员在定义或说明时前面加关键字static public class AnyThing { static double PI = 3.1415; //在类中定义静态常量 static int id; //在类中定义静态变量 public static void method1(){ //在类

舍友java开发面经

阿里: 一面 项目经验科研项目介绍为什么那么做自己创新点 安卓acitivity生命周期https://blog.csdn.net/android_tutor/article/details/5772285service 如何保活 javaHashMap,currentHashMap,linkedlist对比 从用法,同步安全角度解答http://www.cnblogs.com/chengxiao/p/6059914.html?tdsourcetag=s_pctim_aiomsghttps://

oracle 数据库开发面试题

最近参加了4.5场面试,总结一下竞聘oracle 开发岗位最常问到哪些问题: 1.delete 与 truncate 区别? 1)truncate 是DDL语句,delete 是DML语句: 2)truncate 速度远快于 delete: 原因是:当我们执行delete操作时所有表数据先被copy到回滚表空间,数据量不同花费时间长短不一.而truncate是直接删除数据不进回滚表空间. 3)接(2)这也就导致了delete数据后我们可以运行rollback进行数据回滚,而truncate则是永

大公司移动前端开发面试题——做转盘

"如果有个做转盘的需求,你准备怎么做?设计师只会提供一个转盘的图片,其余都需要你完成,不能用框架和类库." "这个转盘没有惯性的需求,只要求在手机上,用手指拖转盘,能让转盘跟随手指转起来即可." 这是我在面试前端开发人员时,经常会问到的一道题.转盘是类似上图的样子. 博主之前在M公司和C公司的时候,经常用这题面试移动前端开发工程师.M公司的产品和设计是美国团队,在个别项目上UI设计比较大胆脱俗,对前端开发人员有较高的要求.C公司的只会JS的前端开发人员占比较大,产品