spring面试题大全

VIP免费
2024-12-10 0 0 107KB 28 页 5.9玖币
侵权投诉
* Spring 的优点有什么?
1. Spring 是分层的架构,你可以选择使用你需要的层而不用管不需要的部
2. Spring POJO 编程,POJO 编程使得可持续构建和可测试能力提高
3. 依赖注入和 IoC 使得 JDBC 操作简单化
4. Spring 是开源的免费的
5. Spring 使得对象管理集中化合简单化
* 描述一下 spring 中实现 DIdependency injection)的几种方式
方式一:接口注入,在实际中得到了普遍应用,即使在 IOC 的概念尚未确立时,
这样的方法也已经频繁出现在我们的代码中。
方式二:Type2 IoC: Setter injection 对象创建之后,将被依赖对象通过 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)来实现类 A与接口 B
实现 C的关联。
* Spring 对很多 ORM 框架提供了很好支持,描述下在 spring 使用 hibernate
方法
context 中定义 DataSource,创建 SessionFactoy,设置参数;DAO 类继承
HibernateDaoSupport,实现具体接口,从中获得 HibernateTemplate 进行具体操
作。在使用中如果遇到 OpenSessionInView 的问题,可以添加
OpenSessionInViewFilter OpenSessionInViewInterceptor
* 请介绍下 spring 的事务管理
spring 提供了几个关于事务处理的类:
TransactionDefinition //事务属性定义
TranscationStatus //代表了当前的事务,可以提交,回滚。
PlatformTransactionManager 这个是 spring 提供的用于管理事务的基础接口,其
下有一个实现的抽象类 AbstractPlatformTransactionManager,我们使用的事务管
理类例如 DataSourceTransactionManager 等都是这个类的子类。
一般事务定义步骤:
TransactionDefinition td = new TransactionDefinition();
TransactionStatus ts = transactionManager.getTransaction(td);
try
{ //do sth
transactionManager.commit(ts);
}
catch(Exception e){transactionManager.rollback(ts);}
spring 提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵
活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活。
编程式主要使用 transactionTemplate。省略了部分的提交,回滚,一系列的事务
对象定义,需注入事务管理对象.
void add()
{
transactionTemplate.execute( new TransactionCallback(){
pulic Object doInTransaction(TransactionStatus ts)
{ //do sth}
}
}
声明式:
使用 TransactionProxyFactoryBean:
PROPAGATION_REQUIRED PROPAGATION_REQUIRED
PROPAGATION_REQUIRED,readOnly
围绕 Poxy 的动态代理 能够自动的提交和回滚事务
org.springframework.transaction.interceptor.TransactionProxyFactoryBean
PROPAGATION_REQUIRED–支持当前事务,如果当前没有事务,就新建一个
事务。这是最常见的选择。
PROPAGATION_SUPPORTS–支持当前事务,如果当前没有事务,就以非事务
方式执行。
PROPAGATION_MANDATORY–支持当前事务,如果当前没有事务,就抛出异
常。
PROPAGATION_REQUIRES_NEW–新建事务,如果当前存在事务,把当前事
务挂起。
摘要:

*Spring的优点有什么?1.Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分2.Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高3.依赖注入和IoC使得JDBC操作简单化4.Spring是开源的免费的5.Spring使得对象管理集中化合简单化*描述一下spring中实现DI(dependencyinjection)的几种方式方式一:接口注入,在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。方式二:Type2IoC:Setterinjection对象创建之后,将被依赖对象通过set方法设置进去方式三:T...

展开>> 收起<<
spring面试题大全.doc

共28页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:28 页 大小:107KB 格式:DOC 时间:2024-12-10

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 28
客服
关注