8.秋招复习简单整理之Spring面试一般问题
1.不同版本的Spring Framework有哪些主要功能?

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中有多少个模块,它们分别是什么?

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面试一般问题的更多相关文章
- 9.秋招复习简单整理之Spring面试AOP和IOC的理解
1.Spring的AOP理解: OOP面向对象,允许开发者定义纵向的关系,但不适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用. AOP,一般称为面向切面,作为面向对象的一种补充,用 ...
- 10.秋招复习简单整理之CSMA/CD协议
我们知道,总线上只要有一台计算机在发送数据,总线的传输资源就被占用.因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会相互干扰,使得所发送的数据被破坏.因此,如何协调总线上各计算机的工作 ...
- 7.秋招复习简单整理之请你讲讲 Statement 和 PreparedStatement 的区别?哪个性能更好?
Statement和PreparedStatement都是数据库用于执行SQL语句的句柄,但是PreparedStatement代表一个预编译的SQL. 以下是PreparedStatement和St ...
- 6.秋招复习简单整理之请你谈谈JDBC的反射,以及它的作用?
通过反射com.mysql.jdbc.Driver类,实例化该类时会调用该类的静态代码块,该代码块会去java的DriverManager类中注册自己,DriverManager管理所有已注册的驱动类 ...
- 5.秋招复习简单整理之请介绍一下List和ArrayList的区别,arrayList和HashSet区别?
第一问:List是接口,ArrayList是List的实现类. 第二问:ArrayList是List的实现类,HashSet是Set的实现类,List和Set都实现了Collection接口. Arr ...
- 4.秋招复习简单整理之java支持多继承吗?
java仅支持单继承,但支持接口多实现.
- 3.秋招复习简单整理之List、Map、Set三个接口存取元素时,各有什么特点?
List.Set都是单列元素的集合,它们有共同的父接口Collection. List存取有序可重复元素 存元素:调用add方法,存的元素先来后到,有顺序,当然也可以插队,指定存在某个位置,调用add ...
- 2.秋招复习简单整理之String、StringBuffer、StringBuilder的区别和联系
String特点: 1.String是不可变对象,一旦赋值创建就不变,这意味着对String的一切修改将产生一个新的字符串,比如String的subString,replace.toUpperCase ...
- 11.秋招复习简单整理之什么是ICMP协议,ICMP协议的功能是什么?
ICMP即 InternetControlMessageProtocol,是网络控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息指网络通不通.主机是否 ...
随机推荐
- Delphi 接口使用中,对象生命周期管理,如何释放需要注意的问题
网上有篇文章<Delphi接口编程的两大陷阱>,里面提到接口的生存期管理的问题.但该文章里面提到的两个问题,其实都是对 Delphi 不理解导致的. 先说该篇文章中提到的第一个问题为什 ...
- Spring 中 CharacterEncodingFilter 失效?
# 问题 Spring 提供了CharcterEncodingFilter,专门解决字符串编码的问题. 诡异的是,在类 AbstractAnnotationConfigDispatcherServle ...
- 获取同时间段不同的时间 php
/** * 根据指定日期返回经过的年月 * @param string $sDay 开始日期 * @param string $eDay 结束日期 * @returnse multitype:stri ...
- SQLServer 可更新订阅数据在线架构更改(增加字段)方案
原文:SQLServer 可更新订阅数据在线架构更改(增加字段)方案 之前一直查找冲突发布和订阅数据不一致的原因,后来发现多少数据库升级引起,因为一直以来都是在发布数据库增加字段,订阅也会自动同步.在 ...
- GIS基础软件及操作(六)
原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. ...
- Delphi 编写ActiveForm窗体工程知识和样例(开发浏览器客户端应用程序)(有详细步骤)
一.基础知识介绍: 1.ActiveForm的基础知识介绍: 在Delphi中,ActiveForm是封装了Delphi Form的一种ActiveX控件.ActiveForm其实是一种标准的Delp ...
- Dlib 19.4(算法,压缩,图像处理,机器学习,Meta编程,网络,HTTP服务器)
Algorithms API Wrappers Bayesian Nets Compression Containers Graph Tools Image Processing Linear Alg ...
- Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)
When compiling Qt you can choose one of these options based on the configure command line: no OpenSS ...
- [2017.02.21-22] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》
{- 2017.02.21-22 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> 学习了Haskell的基本语法,并实现了一 ...
- java关键字-final
final特点: 1:这个关键字是一个修饰符,可以修饰类,方法,变量. 2:被final修饰的类是一个最终类,不可以被继承. 3:被final修饰的方法是一个最终方法,不可以被覆盖. 4:被final ...