面试题总结04

今天,继续总结了一些面试题:
1.请写出spring中常用的依赖注入方式。
常见的就是setter注入和构造方法注入。
另外还有静态工厂的方法注入、实例工厂的方法注入。
2.简述Spring中IOC容器常用的接口和具体的实现类。
1.BeanFactory SpringIOC容器的基本设置,是最底层的实现, 面向框架本身的。
2.ApplicationContext BeanFactory的子接口,提供了更多高级的特定。面向开发者的。3.ConfigurableApplicationContext,ApplicationContext的子接口,扩展出了close和refresh等关闭刷新容器的方法。4.ClassPathXmlApplicationContext:从classpath的XML配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中取得。
5、FileSystemXmlApplicationContext:由文件系统中的XML配置文件读取上下文。
6、XmlWebApplicationContext:由Web应用的XML文件读取上下文。
3.简述Spring中如何基于注解配置Bean和装配Bean。
(1)首先要在Spring中配置开启注解扫描
(2)在具体的类上加上具体的注解
(3)Spring中通常使用@Autowired或者是@Resource等注解进行bean的装配
4.简单的谈一下SpringMVC的工作流程。
1、用户发送请求至前端控制器DispatcherServlet。
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、DispatcherServlet调用HandlerAdapter处理器适配器。
5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、Controller执行完成返回ModelAndView。
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
9、ViewReslover解析后返回具体View。
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户。
5.Mybatis结果集的映射方式有几种,并分别解释每种映射方式如何使用。
自动映射,通过resultType来指定要映射的类型即可。
自定义映射,通过resultMap来完成具体的映射规则,指定将结果集中的哪个列映射到对象的哪个属性。
6.简述MyBatis的单个参数、多个参数如何传递及如何取值。
MyBatis传递单个参数,如果是普通类型(String+8个基本)的,取值时在#{}中可以任意指定,如果是对象类型的,则在#{}中使用对象的属性名来取值
MyBatis传递多个参数,默认情况下,MyBatis会对多个参数进行封装Map。取值时在#{}可以使用0 1 2…或者是param1 param2…
MyBatis传递多个参数,建议使用命名参数,在Mapper接口的方法的形参前面使用
@Param()来指定封装Map时用的key。取值时在#{}中使用@Param指定的key
7.MyBatis如何获取自动生成的(主)键值。在< insert >标签中使用useGeneratedKeys和keyProperty两个属性来获取自动生成的主键值。
8.简述Mybatis的动态SQL。
动态SQL是MyBatis的强大特性之一 基于功能强大的OGNL表达式。
动态SQL主要是来解决查询条件不确定的情况,在程序运行期间,根据提交的条件动态的完成查询。
9.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复。
不同的Xml映射文件,如果配置了namespace,那么id可以重复;如果没有配置namespace,那么id不能重复;
10.Mybatis如何完成MySQL的批量操作。
MyBatis完成MySQL的批量操作主要是通过< foreache >标签来拼装相应的SQL语句。

你可能感兴趣的:(笔记)