ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:47.02KB ,
资源ID:5172313      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5172313.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Spring练习题库面试题汇总考试复习.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Spring练习题库面试题汇总考试复习.docx

1、Spring练习题库面试题汇总考试复习一、Spring框架的优点都有什么?Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分 Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高 依赖注入和IoC使得JDBC操作简单化 Spring是开源的免费的 Spring使得对象管理集中化合简单化 二、描述一下Spring中实现DI(Dependency Injection)的几种方式方式一:接口注入,在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。方式二:Type2 IoC: Setter injection对象创建之后

2、,将被依赖对象通过set方法设置进去方式三:Type3 IoC: Constructor injection对象创建时,被依赖对象以构造方法参数的方式注入Spring的方式三、简述你对IoC(Inversion of Control)的理解一个类需要用到某个接口的方法,我们需要将类A和接口B的实现关联起来,最简单的方法是类A中创建一个对于接口B的实现C的实例,但这种方法显然两者的依赖(Dependency)太大了。而IoC的方法是只在类A中定义好用于关联接口B的实现的方法,将类A,接口B和接口B的实现C放入IoC的 容器(Container)中,通过一定的配置由容器(Container)来实现

3、类A与接口B的实现C的关联。四、Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法。在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor五、请介绍一下Spring的事务管理spring提供了几个关于事务处理的类:Transac

4、tionDefinition /事务属性定义TranscationStatus /代表了当前的事务,可以提交,回滚。PlatformTransactionManager这个是spring提供的用于管理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务管理类例如DataSourceTransactionManager等都是这个类的子类。一般事务定义步骤:TransactionDefinition td = new TransactionDefinition();TransactionStatus ts = transacti

5、onManager.getTransaction(td);try /do sthtransactionMmit(ts);catch(Exception e)transactionManager.rollback(ts);spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活。编程式主要使用transactionTemplate。省略了部分的提交,回滚,一系列的事务对象定义,需注入事务管理对象.void add()transactionTemplate.execute( new TransactionCallb

6、ack()pulic Object doInTransaction(TransactionStatus ts) /do sth声明式:使用TransactionProxyFactoryBean:PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly 围绕Poxy的动态代理 能够自动的提交和回滚事务org.springframework.transaction.interceptor.TransactionProxyFactoryBeanPROPAGATION_REQUIRED支持当前事务,如果当前没有事务,

7、就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。 PROPAGATION_NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 PROPAGATION_NEVER以非事务方式执行,如果当前存在事务,则抛出异常。 PROPAGATION_NESTED如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则

8、进行与PROPAGATION_REQUIRED类似的操作。六、如何在Spring的applicationContext.xml里面使用JNDI而不是datasource?可以使用”org.springframework.jndi.JndiObjectFactoryBean”来实现。示例如下: java:comp/env/jdbc/appfuse 七、Spring里面如何配置数据库驱动?使用org.springframework.jdbc.datasource.DriverManagerDataSource”数据源来配置数据库驱动。示例如下: org.hsqldb.jdbcDriver jdbc

9、:hsqldb:db/appfuse sa 八、Spring里面applicationContext.xml文件能不能改成其他文件名?ContextLoaderListener是一个ServletContextListener, 它在你的web应用启动的时候初始化。缺省情况下, 它会在WEB-INF/applicationContext.xml文件找Spring的配置。 你可以通过定义一个元素名字为”contextConfigLocation”来改变Spring配置文件的位置。示例如下: org.springframework.web.context.ContextLoaderListener

10、 contextConfigLocation /WEB-INF/xyz.xml 九、如何在web应用里面配置spring?在J2EE的web应用里面配置spring非常简单,最简单的只需要把spring得ContextLoaderListener添加到你的web.xml文件里面就可以了,示例如下: org.springframework.web.context.ContextLoaderListener十、Spring里面如何定义hibernate mapping?添加hibernate mapping 文件到web/WEB-INF目录下的applicationContext.xml文件里面。

11、示例如下: org/appfuse/model/User.hbm.xml 十一、两种依赖注入的类型都是什么? 两种依赖注入的类型分别是setter注入和构造方法注入。setter注入: 一般情况下所有的java bean, 我们都会使用setter方法和getter方法去设置和获取属性的值,示例如下:public class namebean String name; public void setName(String a) name = a; public String getName() return name; 我们会创建一个bean的实例然后设置属性的值,spring的配置文件如下:

12、 tom Spring会调用setName方法来只是name熟悉为tom构造方法注入:构造方法注入中,我们使用带参数的构造方法如下:public class namebean String name; public namebean(String a) name = a; 我们会在创建bean实例的时候以new namebean(”tom”)的方式来设置name属性, Spring配置文件如下: My Bean Value 使用constructor-arg标签来设置构造方法的参数。十二、解释一下Dependency injection(DI,依赖注入)和IOC(Inversion of co

13、ntrol,控制反转)?参考答案:依赖注入DI是一个程序设计模式和架构模型, 一些时候也称作控制反转,尽管在技术上来讲,依赖注入是一个IOC的特殊实现,依赖注入是指一个对象应用另外一个对象来提供一个特殊的能力,例如:把一个数据库连接已参数的形式传到一个对象的结构方法里面而不是在那个对象内部自行创建一个连接。控制反转和依赖注入的基本思想就是把类的依赖从类内部转化到外部以减少依赖应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。也可以说,依赖被注入到对象中。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。十三、spr

14、ing中的BeanFactory与ApplicationContext的作用和区别?作用:1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能:a. 国际化支持b. 资源访问:Resource rs = ctx. getResource(”classpath:config.properties”), “s”c. 事件传递:通过实现ApplicationContextAware接口3. 常用的获取

15、ApplicationContext的方法:t:从文件系统或者url指定的xml配置文件创建,参数为配置文件名或文件名数组ClassPathXmlApplicationContext:从classpath的xml配置文件创建,可以从jar包中读取配置文件WebApplicationContextUtils:从web应用的根目录读取配置文件,需要先在web.xml中配置,可以配置监听器或者servlet来实现org.springframework.web.context.ContextLoaderListenercontextorg.springframework.web.context.Con

16、textLoaderServlet1这两种方式都默认配置文件为web-inf/applicationContext.xml,也可使用context-param指定配置文件contextConfigLocation/WEB-INF/myApplicationContext.xml十四、如何在web环境中配置applicationContext.xml文件? org.springframework.web.context.ContextLoaderListener或:contextorg.springframework.web.context.ContextLoaderServlet1通过如下方法

17、取出applicationContext实例:ApplicationContext ac=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext);十五、如何配置spring+struts? 在struts-config.xml加入一个插件,通过它加载applicationContext.xml在struts-config.xml修改action-mapping标记,具体action交给了DelegateActionProxy通过DelegateActionProxy进入一spring的环境。在spr

18、ing的applicationContext.xml加入十六、spring+hibernate的配置文件中的主要类有那些?如何配置?在myeclipse中先加入spring环境再加入hibernate环境。如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml文件是否正确?spring+hibernate的配置文件中的主要类有那些?如何配置?dataSourcesessionFactory:hibernate.cfg.xmltransactionManageruserDao (extends HibernateDaoSupport)sessionFactor

19、yfacadeproxysessionFactorytransactionManagerfacade十七、在spring中如何配容器的事务管理,相关的类有那些?DatasoucetransactionManageruserDao要注入DatasouceProxy代理Target:userDao:代理对象(目标对象)transactionAttributes(那些方法需要事务处理)transactionManager(事务处理服务)十八、在spring中如何配代码的事务管理?DatasoucetransactionManageruserDao要注入DatasoucetransactionMana

20、ger通过如下类实现TransactionTemplateJdbcTemplate十九、在spring中有几种事务管理,分别是什么?代码管理的事务处理TransactonTemplate的execute方法中的内部类TransactionCallback中的doInTransaction方法中使用。public void make()TransactionTemplate jtm=new TransactionTemplate(this.getTransactionManager();jtm.execute(new myClass1();public class myClass1 implem

21、ents TransactionCallbackpublic Object doInTransaction(TransactionStatus trans)JdbcTemplate jdbc=new JdbcTemplate(dataSource);jdbc.execute(”insert into customer(customerName) values(b)”);jdbc.execute(”insert into customer(customerName) values(b)”);return null;容器管理的事务处理二十、spring的jdbc与传统的jdbc有什么区别,其核心类

22、有那些?Spring的jdbc:节省代码,不管连接(Connection),不管事务、不管异常、不管关闭(con.close() ps.close )JdbcTemplate(dataSource):增、删、改、查TransactionTemplate(transactionManager):进行事务处理二十一、spring与ejb2.0的事务管理比较的优缺点?测试:Spring:pojoEjb:二个接口一个类,一堆配置文件事务类型Spring:jdbc jta hibernateEjb:jta成本 Spring:普通容器(tomcat jboss) Ejb:weblogic jboss开发的

23、周期:Spring远比ejb快.二十二、spring的配置的主要标签是什么?有什么作用? 二十三、如何在spring中实现国际化? 在applicationContext.xml加载一个beanmessage在src目录下建多个properties文件对于非英文的要用native2ascii -encoding gb2312 源 目转化文件相关内容其命名格式是message_语言_国家。页面中的中显示提示信息,键名取键值。当给定国家,系统会自动加载对应的国家的properties信息。通过applictionContext.getMessage(“键名”,”参数”,”区域”)取出相关的信息。二

24、十四、Spring如何实现事件处理?事件Extends ApplicationEvent监听器Implements ApplicationListener事件源Implements ApplicationContextAware在applicationContext.xml中配置事件源、监听器先得到事件源,调用事件源的方法,通知监听器。二十五、如何加入Spring到web框架中? 在web.xml中加入如下同容,在启动web服务器时加载/WEB-INF/applicationContext.xml中的内容。contextorg.springframework.web.context.ContextLoaderServlet1通过如下类得到ApplicationContext实例WebApplicationContextUtils.getWebApplicationContext二十六、Spring如何实现资源管理?

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1