Spring习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、阐述Spring工作原理。

1、spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。

2、DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller

3、DispatcherServlet请请求提交到目标Controller

4、Controller进行业务逻辑处理后,会返回一个ModelAndView

5、Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象

6、视图对象负责渲染返回给客户端。

2、在Spring IoC核心模式中,试比较Set依赖注入与构造函数依赖注入的异同点?

属性注入和构造注入都具有无侵入性的特点。

构造注入:构造注入可以一次性地为组件注入多个不同依赖的目标参数对象,避免为每个属性成员提供get/set方法,从而使得组件被创建后处于相对稳定状态;类之间的关联关系仅在构造函数中表达,使得系统层次清晰;通过构造注入,可以在构造函数中决定依赖关系得注入顺序,优先依赖的先注入;

属性注入:能够使得单元测试比较简单和分别实现;通过setter方法设定依赖关系显得更加直观,自然;如果依赖关系(或继承关系)较为复杂,设置注入则更为简洁;对于某些第三方类库,有求组件必须提供默认的构造函数,此时构造注入就有了局限性,采用设置注入为佳。

3、Struts中ActionForm有什么作用?

1、ActionForm Bean也是一种JavaBean,除了具有一些JavaBean的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。

2、Struts框架利用ActionForm Bean来进行View组件和Controller组件之间表单数据的传递。

3、Struts框架把View组件接受到的用户输入的表单数据保存在ActionForm Bean中,把它传递给Controller组件,Controller组件可以对ActionForm Bean中的数据进行修改,JSP 文件使用Struts标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。

ActionForm是和页面的Form对应的,也就是接收页面输入的数据一开始保存在ActionForm中,然后再Action里面,调用逻辑层的代码来处理这些数据。

4、说说你理解的“框架”,举个现实生活中框架的例子。

5、阐述Spring框架和EJB各自的优缺点?

EJB 是优良的业务对象分布式框架,EJB容器具有事务管理,安全机制功能;

EJB是重量级的,部署麻烦;EJB 代码不能脱离EJB 容器;购买EJB 容器价钱昂贵,启动缓慢;

Spring框架是轻量级的架构,支持EJB并对其实现更加简化,实现了解耦,并脱离了容器;中断了应用程序的逻辑,使代码变得不完整,不直观。将原本应该代码化的逻辑配置化,增加了出错的机会以及额外的负担。失去了IDE的支持。调试阶段不直观,后期的bug 对应阶段,不容易判断问题所在。

6、模式和框架的区别。

框架和模式都是提高软复用的技术手段,他们之间互相联系但又有所侧重:1、设计模式比框架更抽象:应用框架能够用代码表示,而设计模式只有其实例才能表示为代码。框架能够使用程序设计语言写出来,不仅能被学习,也能被直接执行和复用。而设计模式的每一次复

用时,都需要被实现。设计模式需要解释它的意图、权衡和设计效果。2、设计模式是比框架更小的体系结构元素:一个典型的框架包括了多个设计模式。3、框架比设计模式更加特征化:框架总是针对一个特定的应用领域,而设计模式至少要包括两个不同的应用领域。

7、如何在Spring中实现国际化?

1、导入Spring标签文件;

2、配置Spring标签库和资源库;

3、创建资源库文件;

4、标签化JSP页面中的文字;

5、创建资源文件。

8、装配集合中常用的四种属性是什么?并列举任意一种的使用方法。

Spring提供四种:,,,

props.:java.util.Properties

value1

value2

9、什么是spring?它有什么特点?

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1、采用分层架构设计和实现;

2、是轻量级的J2EE应用开发框架;

3、是一种非侵入式的轻量级框架;

4、是使用控制反转IoC技术的容器。

10、Hibernate应用与传统JDBC应用的比较

Hibernate是java对象/关系数据库映射工具。JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。1、关系型数据库与JDBC是一对一的关系,只需要简单配置就可以实现,所以Hib系,Hibernate与关系型数据库是一对多的关ernate是跨数据库平台的。2、代码中,Hibernate可以不使用本地化SQL语句完成对数据的SUDI,与数据库是松耦合,JDBC不能。3、Hibernate很好地兼容了JDBC,可以在代码中直接嵌入JDBC API,但不提倡这样做。4Hibernate拥有数据连接池实现机制(sessionFactory)。

11、Spring 框架的7 个模块功能

1、核心容器(Spring Core);

2、Spring 上下文(Spring Context);

3、Spring 的面向方面的编程(Spring AOP);

4、Spring JDBC DAO 抽象层(Spring DAO);

5、Spring ORM 的对象关系工具(Spring ORM);

6、Spring Web 模块(Spring Web);

7、Spring MVC 框架(Spring Web MVC)

12、“非侵入式”的体现以及如何达到“非侵入式”的设计目标

1、“非侵入式”的体现:允许在应用系统中自由地选择和组装Spring的各功能模块,并且不强制要求应用中的类必须从Spring 的系统API中的某个类来继承或者实现某个接口;同时提供和其它框架集成的接口,如与Hibernate、Struts 的集成等;

2、如何达到“非侵入式”的设计目标:应用Java技术中的反射(Reflection)机制;并配合使用Spring框架中的BeanWrapper和BeanFactory组件类最终达到对象的实例创建和属性注入1

3、在web中如何配置Spring

org.springframework.web.context.ContextLoaderListener

contextConfigLocation

相关文档
最新文档