第十章
【思考题】
1、 请简述MyBatis与Spring整合所需JAR包的种类。
2、 请简述MapperFactoryBean和MapperScannerConfigurer的作用。
【答案】
1、MyBatis与Spring整合所需JAR包主要包括:Spring框架所需的JAR包、 MyBatis框架所需的JAR包、MyBatis与Spring整合的中间JAR、数据库驱动JAR包,以及数据源所需的JAR包。
2、MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类,通过MapperFactoryBean可以配置接口文件以及注入SqlSessionfactory,从而完成一个Bean的实例化。MapperScannerConfigurer是MyBatis-Spring团队提供的一种用于以自动扫描形式来配置MyBatis中映射器的类,可以通过配置包路径来自动扫描包接口生成映射器,这使得开发人员可以在编写很少代码的情况下,完成对映射器的配置,从而提高开发效率。
第十一章
【思考题】
1、请简述Spring MVC框架的优点。
2、请简述Spring MVC框架的工作执行流程。
【答案】
1、Spring MVC主要有如下优点:
(1)是Spring框架的一部分,可以方便的利用Spring所提供的其他功能。 (2)灵活性强,易于与其他框架集成。
(3)提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。 (4)可自动绑定用户输入,并能正确的转换数据类型。
(5)内置了常见的校验器,可以校验用户输入。如果校验不能通过,那么就会重定向到输入表单。
(6)支持国际化。可以根据用户区域显示多国语言。
(7)支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。 (8)使用基于XML的配置文件,在编辑后,不需要重新编译应用程序。
2、Spring MVC框架的工作流程如下:
(1)用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet所拦截。
(2)DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器。 (3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
(4)DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理器适配器)。 (5)HandlerAdapter会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称之为后端控制器。
(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名。
(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet。
(8)DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)。
(9)ViewReslover解析后,会向DispatcherServlet中返回具体的View(视图)。 (10)DispatcherServlet对View进行渲染(即将模型数据填充至视图中)。 (11)视图渲染结果会返回给客户端浏览器显示。
第十二章
【思考题】
1、请简述@Controller注解的使用步骤。
2、请列举请求处理方