8.秋招复习简单整理之Spring面试一般问题

时间:2022-09-22 11:08:28

1.不同版本的Spring Framework有哪些主要功能?

8.秋招复习简单整理之Spring面试一般问题

2.什么是Spring Framework?

Spring是一个轻量级的IOC和AOP容器框架,是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于注解的配置、基于XML的配置,基于java的配置。

3.Spring框架有哪些优点?请谈谈你的看法。

容器。Spring框架是一个容器,能管理项目中的所有对象。

IOC(控制反转)。Spring将创建对象的方式反转给了程序,简化了开发,降低了代码的耦合性和侵入性。(耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。)

AOP(切面编程)。面向切面编程,简言之,就是将纵向重复的代码横向抽取出来,Spring框架应用了面向切面的思想,主要体现在为容器中管理的对象生成动态代理对象。

方便对程序进行声明式事务管理,我们只需要通过配置即可完成事务管理。

方便与其它框架进行整合,Spring可以集成其他框架,如Structs、Hibernate、Mybatis等。

4.Spring Framework有哪些不同的功能?

轻量级-Spring在代码量和透明度方面都很轻便;

IOC-控制反转;

DI-依赖注入;需要有IOC环境,在Spring创建Bean对象时,动态的将依赖对象注入到Bean对象中去,依赖注入最大的好处就是解耦合;

AOP-面向切面编程可以将应用业务逻辑和系统服务分离,以实现高内聚;(内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。)

容器-Spring负责创建和管理对象的生命周期和配置;

MVC-对web应用提供了高度可配置性,其他框架的集成也十分方便;

事务管理-提供了用于事务管理的通用抽象层。Spring的事务支持也可用于容器较少的环境;

JDBC异常-Spring的JDBC抽象层提供了一个异常层次结构,简化了错误处理策略。

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

8.秋招复习简单整理之Spring面试一般问题

1)Spring核心容器,Core Container基本上是Spring Framework的核心。它包含以下模块:

Spring Core

Spring Bean

Spring Expression Language

Spring Context

2)数据访问/集成,Data Access/Integration,该层提供与数据库交互的支持,包含以下模块:

JDBC(Java DataBase Connectivity)

ORM(Object Relational Mapping)

OXM(Object XML Mappers)

JMS(Java Messageing Service)

Transaction

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

Web

Web-Servlet

Web-Socket

Web-Portlet

4)AOP-该层支持面向切面编程

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

6)Test - 该层为使用JUnit和Test NG进行测试提供支持。

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

8)Aspects - 该模块为与AspectJ的集成提供支持。

Spring Core:核心类库,提供IOC服务;

Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);

Spring AOP:AOP服务;

Spring DAO:对JDBC的抽象,简化了数据访问异常的处理;

Spring ORM:对现有的ORM框架的支持;

Spring Web:提供了基本的面向Web的综合特性,例如多方文件上传;

Spring MVC:提供面向Web应用的Model-View-Controller实现。

8.秋招复习简单整理之Spring面试一般问题的更多相关文章

  1. 9.秋招复习简单整理之Spring面试AOP和IOC的理解

    1.Spring的AOP理解: OOP面向对象,允许开发者定义纵向的关系,但不适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用. AOP,一般称为面向切面,作为面向对象的一种补充,用 ...

  2. 10.秋招复习简单整理之CSMA/CD协议

    我们知道,总线上只要有一台计算机在发送数据,总线的传输资源就被占用.因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会相互干扰,使得所发送的数据被破坏.因此,如何协调总线上各计算机的工作 ...

  3. 7.秋招复习简单整理之请你讲讲 Statement 和 PreparedStatement 的区别?哪个性能更好?

    Statement和PreparedStatement都是数据库用于执行SQL语句的句柄,但是PreparedStatement代表一个预编译的SQL. 以下是PreparedStatement和St ...

  4. 6.秋招复习简单整理之请你谈谈JDBC的反射,以及它的作用?

    通过反射com.mysql.jdbc.Driver类,实例化该类时会调用该类的静态代码块,该代码块会去java的DriverManager类中注册自己,DriverManager管理所有已注册的驱动类 ...

  5. 5.秋招复习简单整理之请介绍一下List和ArrayList的区别,arrayList和HashSet区别?

    第一问:List是接口,ArrayList是List的实现类. 第二问:ArrayList是List的实现类,HashSet是Set的实现类,List和Set都实现了Collection接口. Arr ...

  6. 4.秋招复习简单整理之java支持多继承吗?

    java仅支持单继承,但支持接口多实现.

  7. 3.秋招复习简单整理之List、Map、Set三个接口存取元素时,各有什么特点?

    List.Set都是单列元素的集合,它们有共同的父接口Collection. List存取有序可重复元素 存元素:调用add方法,存的元素先来后到,有顺序,当然也可以插队,指定存在某个位置,调用add ...

  8. 2.秋招复习简单整理之String、StringBuffer、StringBuilder的区别和联系

    String特点: 1.String是不可变对象,一旦赋值创建就不变,这意味着对String的一切修改将产生一个新的字符串,比如String的subString,replace.toUpperCase ...

  9. 11.秋招复习简单整理之什么是ICMP协议,ICMP协议的功能是什么?

    ICMP即 InternetControlMessageProtocol,是网络控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息指网络通不通.主机是否 ...

随机推荐

  1. tar命令实用介绍

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  2. Leetcode 290 Word Pattern STL

    Leetcode 205 Isomorphic Strings的进阶版 这次是词组字符串和匹配字符串相比较是否一致 请使用map来完成模式统计 class Solution { public: boo ...

  3. 2014 Super Training #4 D Paint the Grid Again --模拟

    原题:ZOJ 3780 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3780 刚开始看到还以为是搜索题,没思路就跳过了.结 ...

  4. 【Ubuntu Java 开发环境搭建 】

    配置环境变量  在终端下:  sudo gedit /etc/profile   这里当然有些熟悉ubuntu的朋友也可以用 vim,   刚从windows转过来的朋友还是用gedit看着舒服写. ...

  5. 文件夹添加右键DOS快捷入口

    1.自带的方法 win7: 按住shift键然后右键点击文件夹,菜单里会出现“在此处打开命令窗口”一项,其实就相当于在当前位置打开Dos窗口,这个是系统自带的. winxp: 打开“我的电脑”,点击菜 ...

  6. JDK源码之AQS源码剖析

    除特别注明外,本站所有文章均为原创,转载请注明地址 AbstractQueuedSynchronizer(AQS)是JDK中实现并发编程的核心,平时我们工作中经常用到的ReentrantLock,Co ...

  7. java学习日记-基础-列出2~100内的素数

    素数的概念:一个整数如果只能整除1和它本身,那么这个整数就是一个素数 方法一:素数是除去能被2整除.3整除.5整除.7整除的整数,但包含2,3,5,7 public class Sushu { pub ...

  8. poj3130 (半平面交

    题意:判断是否存在内核. 半平面交存板子. /* gyt Live up to every day */ #include<cstdio> #include<cmath> #i ...

  9. Go语言使用Beego的ORM插入Mysql后,时区不一致的解决方案

    一.解决方案: 方案一: orm.Debug = false orm.DefaultTimeLoc = time.UTC orm.RegisterDriver("mysql", o ...

  10. Exchange2016 &amp&semi; Skype for business 集成之一配置合作伙伴应用程序

    准备条件 为Skype for Business Server和Exchange Server之间建立服务器到服务器的身份验证,您必须做两件事:1)您必须为每台服务器分配合适的证书(详细参考文档htt ...