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面试一般问题的更多相关文章

  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. C/C++读写csv文件(用getline探测逗号分隔符)

    csv文件其实就是文本文件,每行字段用逗号分隔. 代码 #include <iostream> #include <string> #include <vector> ...

  2. 【转】关于List排序的时效性

    不多说了,就是说明List排序的时效性,仅仅用来备忘,改造自: http://blog.csdn.net/wanzhuan2010/article/details/6205884,感谢原作者 usin ...

  3. How do you create a DynamicResourceBinding that supports Converters, StringFormat?

    原文 How do you create a DynamicResourceBinding that supports Converters, StringFormat? 2 down vote ac ...

  4. Win8 Metro(C#)数字图像处理--2.53图像傅立叶变换

    原文:Win8 Metro(C#)数字图像处理--2.53图像傅立叶变换  [函数名称] 1,一维FFT变换函数         Complex[] FFT(Complex[] sourceDat ...

  5. C#图片保存与读取,以及图片另存

    照片的保存与读取 /// <summary> /// 图片转二进制 /// </summary> /// <param name="imgPhoto" ...

  6. 恢复Win10照片查看器

    批处理文件: @echo off&cd\&color 0a&cls echo 恢复Win10照片查看器 reg add "HKLM\SOFTWARE\Microsof ...

  7. C、C++笔记

    2017年6月 阅读书籍<C和指针> #if 0 #endif 比注释掉代码好.(<C和指针>2017.06.07) 全局变量和全局静态变量的区别 1)全局变量是不显式用sta ...

  8. 【JS 笔记】比较操作符之大小与记录

    1,字符串比较 字符串比较则是使用基于标准字典的 Unicode 值来进行比较的. 对于两个拥有相同字符顺序,相同长度,并且每个字符的位置都匹配的字符串,应该使用严格比较运算符. 下例的比较中可能因为 ...

  9. 反射:获取枚举类型的Name,Value,Description

    [Obsolete("请使用新的方法XXX")] //使用Obsolete特性来告诉使用者这是一个过期的方法 private static void Test() { Type t ...

  10. 利用Rsync同步工具上传、删除目标文件

    Rsync是文件备份工具,当然也可以当做传输工具,管理远程服务器的文件 上传 rsync -avzP --progress --port 9106 /path/.../指定文件 root@192.16 ...