*Spring的优点有什么?1.Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分2.Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高3.依赖注入和IoC使得JDBC操作简单化4.Spring是开源的免费的5.Spring使得对象管理集中化合简单化*描述一下spring中实现DI(dependencyinjection)的几种方式方式一:接口注入,在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。方式二:Type2IoC:Setterinjection对象创建之后,将被依赖对象通过set方法设置进去方式三:Type3IoC:Constructorinjection对象创建时,被依赖对象以构造方法参数的方式注入Spring的方式*简单描述下IOC(inversionofcontrol)的理解一个类需要用到某个接口的方法,我们需要将类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等都是这个类的子类。一般事务定义步骤:TransactionDefinitiontd=newTransactionDefinition();TransactionStatusts=transactionManager.getTransaction(td);try{//dosthtransactionManager.commit(ts);}catch(Exceptione){transactionManager.rollback(ts);}spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活。编程式主要使用transactionTemplate。省略...