Java开发岗位面试题归类汇总五:开源框架

时间:2022-11-20 16:48:09

 1hibernateibatis的区别

答:(1)他们都是开源的O/R框架,对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术

2ibatis简单易学,hibernate学习门槛高。

(3)ibatis更加灵活,对于经常需要修改或者跟新的项目,使用ibatis更加方便

(4)hibernate将sql语句进行了封装,ibatis是半自动化的,需要自己写sql语句,因此在优化sql语句改变数据库性能方面,ibatis表现的更好

 2、讲讲mybatis的连接池。

答:不使用数据库连接池时、正常使用数据库连接的情况下、当使用完毕之后我们就会调用其close()方法来关闭连接、避免资源浪费。但是当使用了数据库连接池之后、一个数据库连接被使用完之后就不再是调用其close方法关闭掉、而是应该将这个数据库连接放回连接池、那么我们就要拦截Connection.close()方法、将这个Connection放回连接池、而不是关闭。这样能够极大的减少频繁的关闭和建立连接,会提高程序的执行效率

数据库连接池,多用于并发访问状态,几百个客户端同时访问数据库,这个时候需要用连接池,因为有可能某个客户,没有关闭连接,而其他用户需要等待,这个时候使用连接池最佳。

参考:http://blog.csdn.net/crave_shy/article/details/46611205

3spring框架中需要引用哪些jar包,以及这些jar包的用途

答:spring框架是一个分层架构,由7个定义良好的模块组成:核心容器、spring上下文、springAOP、DAO、ORM、Web、MVC是一系列轻量级Javaee框架的集合。

参考:http://www.cnblogs.com/BensonHe/p/3903050.html

4. springMVC的原理

答:springmvc是一个基于mvc的web框架。mvc是一种设计模式:一套反复使用、多人知晓的,经过分类编写的,代码设计经验的总结。

返回ModelandView返回ModelandView返回ModelandView 具体步骤如下

具体步骤如下:

(1)发起请求到前端控制器DispatcherServlet

(2)前端控制器请求handlerMapping查找handler(xml、注解)

(3)处理器映射器向前端控制器返回handler

(4)前端控制器调用处理器适配器去执行handler

(5)处理器适配器去执行handler

(6)handler执行完成之后,给适配器返回ModelAndView

(7)处理器适配器向前端控制器返回ModelAndView

(8)前端控制器请求视图解析器去进行视图解析(生成jsp)

(9)向前端返回view

(10)前端控制器进行视图渲染

(11)返回相应结果

5springMVC注解的意思

答:@Controller注解标识一个控制器,@RequestMapping注解标记一个访问的路径(/index.htm),return "index"标记返回视图(index.jsp);

@RequestMapping中定义访问页面的URL模版,使用{}传入页面参数,使用@PathVariable 获取传入参数

使用@RequestParam 注解获取GET请求或POST请求提交的参数

参考有源码详解:http://www.oschina.net/question/84460_9608

 

6springbeanFactoryApplicationContext的联系和区别

答:BeanFactory基本的工厂解析,管理,实例化所有容器内的bean的接口,spring中所有解析配置文件的类都直接或者间接实现该接口               

              ApplicationContext接口implements BeanFactory

         创建对象的特点:

              BeanFactory在解析配置文件时并不会初始化对象,只有在使用对象时(getBean())才会对该对象进行初始化

              ApplicationConte在解析配置文件时对配置文件中的所有对象都初始化了,getBean()方法只是获取对象的过程

参考:http://www.cnblogs.com/duanxz/p/4714891.html

 

7spring注入的几种方式(循环注入)

答:有三种方式:属性注入(setter注入)、构造器注入、工厂注入

参考:http://blog.csdn.net/chengxu2011/article/details/8478290

8spring如何实现事物管理的

答:(1)事务的4个特性

(2)事物的实现方式:编码式:使用TransactionTemplate和直接使用PlatformTransactionManager

(3)声明式事务:基于AOP技术实现的声明式事务管理,实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务。
声明式事务管理又有两种方式:基于XML配置文件的方式;另一个是在业务方法上进行@Transactional注解,将事务规则应用到业务逻辑中。

参考:http://developer.51cto.com/art/200906/129854.htm

9springIOC

答:参考:http://www.cnblogs.com/xdp-gacl/p/4249939.html,简单的程序:http://blog.csdn.net/it_man/article/details/4402245

10spring AOP的原理

答:参考:http://blog.csdn.net/moreevan/article/details/11977115

11、拦截器、监听器、filter、和servlet的一些区别和见解。

答:参考:http://blog.csdn.net/cdh1213/article/details/5967414