Java面试题之十

来源:互联网 发布:给淘宝买家的感谢信 编辑:程序博客网 时间:2024/05/24 20:08
1、什么是ORM?
对象关系模型(Object-Relational Mapping),解决程序的面向对象模型与数据库的关系模型不匹配的问题。
2、持久层框架有哪些?需要考虑的问题?
Hibernate、MyBatis、Spring Data
专注于实现数据持久化
3、什么是IOC和DI?
IOC是控制反转,对对象控制权的转移,从程序代码本身转移到外部容器,由容器来创建和管理对象间的依赖关系。
DI依赖注入,应用组件不应该负责查找资源或者其他依赖的协作对象,查找的过程交给容器来完成。
4、什么叫AOP?
AOP是一种程序设计范型,切面是一种新的模块化机制,描述分散在对象、类或方法中的横切关注点。
5、Spring MVC的工作原理是怎么样的?
  • 客户端所有的请求都交给前端控制器DispatcherServlet,它负责调用其他模块来真正的处理用户的请求;
  • DispatcherServlet收到请求后,会根据相应的信息(URL、HTTP协议方法,请求头,请求参数)以及HandlerMapping的配置找到处理该请求的Handler;
  • Spring通过HandlerAdapter对处理器Handler进行封装;
  • HandlerAdapter是一个适配器,用同一接口对各种Handler中的方法进行调用;
  • Handler处理完用户请求,会返回一个ModeAndView对象给DispatcherServlet,对象模型和视图信息;
  • DispatcherServlet通过ViewResolver对视图进行解析;
  • 解析后,DispatcherServlet会利用视图对象对模型进行渲染;
  • 客户端相应得到HTML界面,也可以是XML或JSON字符串,图片或者PDF文件。