一. 单选题(共15题,30.0分)
- (单选题, 2.0分)MyBatis映射文件中的根标签 mapper 中在对应接口时必须要指定的一个属性 , 如果要对应接口进行数据查询, 这个属性的值的含义是 。( B )
A、url; 接受数据信息位置。
B、namespace; 映射文件的唯一标识符,并设置为对应接口的全限定类名。
C、resource; 用于调用resource文件下的映射文件。
D、namespace; 映射文件的唯一标识符,并设置为对应POJO实体类的全限定类名。
- (单选题, 2.0分)在进行文件上传时,通常可以使用( B )请求方式进行。
A、GET
B、POST
C、PUT
D、PATCH
- (单选题, 2.0分)当有多个选择的情况是,只需要从多个选项中选择一个去执行,可以使用的动态SQL的元素是。( B )
A、if
B、choose、when、otherwise
C、when
D、set
- (单选题, 2.0分)下列选项中,不属于Spring中实例化Bean的方式的是。( D )
A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化
- (单选题, 2.0分)在 servlet-mapping 中,通过配置 url-pattern 元素的( A ),会将所有URL拦截,并交由DispatcherServlet处理。
A、/
B、/*
C、/**
D、不填
- (单选题, 2.0分)有关MyBatis核心配置文件说法正确的是。( D )
A、MyBatis的核心配置文件主要配置了MyBatis的运行环境等信息。
B、MyBatis的核心配置中配置了操作数据库的SQL语句
C、可以通过MyBatis的环境等配置信息构建会话对象SqlSession
D、MyBatis核心配置文件是通过 mappers 元素的属性resource进行添加mapper映射文件的路径
- (单选题, 2.0分)以下关于 select 元素及其属性说法错误的是。( C )
A、 select 元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员。
B、parameterType属性表示传入SQL语句的参数类的全限定名或者别名。
C、resultMap表示外部resultMap的命名引用,可以同时使用resultType和resultMap
D、在同一个映射文件中可以配置多个 select 元素。
- (单选题, 2.0分)下面关于MyBatis的关联映射的描述正确的是。( A )
A、MyBatis就是通过 collection 元素来处理一对多关联关系的。
B、 collection 元素的属性与 association 元素完全相同。
C、MyBatis就是通过 association 元素来处理一对多关联关系的。
D、 association 元素只能使用嵌套查询方式。
- (单选题, 2.0分)Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块。( D )
A、Beans模块
B、Core模块
C、Context模块
D、AOP模块
- (单选题, 2.0分)下列关于SSM框架的整合说法错误的是。( A )
A、Spring MVC与Spring之间不存在整合的问题.
B、SSM框架的整合就涉及到Spring与MyBatis的整合。
C、SSM框架的整合就涉及到Spring MVC与MyBatis的整合.
D、SSM框架的整合就涉及到Spring MVC与Spring之间的整合。
- (单选题, 2.0分)以下有关Spring框架优点的说法正确的是。( B )
A、Spring具有简单、可测试和松耦合等特点,Spring就是应用于任何Java应用的开发中
B、Spring支持AOP编程
C、Spring就是一个“大工厂”,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝组件之间的耦合性
D、Spring增加了Java EE开发中一些API的使用难度
- (单选题, 2.0分)下列有关Spring框架的描述错误的是( D )。
A、Spring是Java Web开发框架
B、Spring是轻量级框架
C、Spring是开源框架
D、Spring是持久层框架
- (单选题, 2.0分)前端发起请求,请求URL为( C )才能访问后台controller的处理方法sayHello()代码。 @Controller @RequestMapping("/first") public class FirstController{ @RequestMapping("/hello") public String sayHello(Model model) throws Exception { model.addAttribute("msg", "欢迎来到我的Spring MVC世界"); return "helloworld"; } }
A、http://localhost:8080/chapter12/hello/firstController
B、http://localhost:8080/chapter12/first/firstController
C、http://localhost:8080/chapter12/first/hello
D、http://localhost:8080/chapter12/hello/first
- (单选题, 2.0分)AspectJ框架中的注解( A )用于定义最终final通知,不管是否异常,该通知都会执行。
A、@After
B、@AfterReturning
C、@AfterThrowing
D、@ArounD、15. (单选题, 2.0分)关于用户权限验证的执行流程,说法错误的是。( D )
A、只有登录后的用户才能访问系统中的主页面。
B、如果没有登录系统而直接访问主页面,则拦截器会将请求拦截,并转发到登录页面。
C、如果用户名或密码错误,会在登录页面给出相应的提示信息。
D、当已登录的用户在系统主页中单击“退出"链接时,系统会回到主页面。
二. 判断题(共10题,20.0分)
- (判断题, 2.0分)异常处理注解@ControllerAdvice结合方法型注解@ExceptionHandler,可以捕获controller中抛出的指定类型异常,从而实现不同类型的异常统一处理。( A )
A、对
B、错
- (判断题, 2.0分)Spring常用注解@Autowired指定要自动装配的对象,默认按照Bean的数据类型进行装配。( A )
A、对
B、错
- (判断题, 2.0分)Spring MVC需要导入的依赖包括Spring核心包、SpringMVC和JSP的依赖,其中SpringMVC依赖只需要导入 artifactId spring-webmvc /artifactId 即可。( A )
A、对
B、错
- (判断题, 2.0分)MyBaits中对原始SQL中的“where 1=1”的条件可以使用 where 与 if 元素组合进行替换。( A )
A、对
B、错
- (判断题, 2.0分)当SpringMVC请求处理方法的返回值为String类型,可以跳转视图,但不能携带数据。( B )
A、对
B、错
- (判断题, 2.0分)可以使用@ResponseBody注解回写JSON格式的对象数据和集合数据到客户端。( A )
A、对
B、错
- (判断题, 2.0分)可以使用mybatis-spring包中,所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现向DAO实现类中注入SqlSessionFactory。( A )
A、对
B、错
- (判断题, 2.0分)@RequestMapping的method属性必须使用。( B )
A、对
B、错
- (判断题, 2.0分)SpringMVC进行JSON数据绑定,不需要导入json相关依赖。( B )
A、对
B、错
- (判断题, 2.0分)依赖注入的作用就是在使用Spring框架创建对象时,动态地将其所依赖的对象注入到Bean组件中。( A )
A、对
B、错
三. 填空题(共10题,20.0分)
-
(填空题, 2.0分)在Spring配置文件中,Bean的作用域是通过元素的 Scope 属性来指定的。
-
(填空题, 2.0分)MyBatis映射文件中 mapper 元素是配置文件的根元素,它包含一个 namespace 属性,该属性为这个 mapper 指定了唯一的命名空间。
-
(填空题, 2.0分)依赖注入通常有两种实现方式,一种是 构造方法 注入,另一种是属性setter方法注入。
-
(填空题, 2.0分)Spring MVC进行复杂POJO类型的数据绑定,如果数据需要绑定到POJO属性对象的属性中,客户端请求参数名或者form表单中的name属性值,格式必须为 对象属性 。
-
(填空题, 2.0分)如果拦截器类中的preHandle()方法的返回值为 true ,则程序会继续向下执行处理器中的方法。
-
(填空题, 2.0分)Spring常用注解中, @Controller 注解可以指定一个控制器组件Bean,用于将控制层的类注册为Spring中的Bean,功能等同于@Component注解。
-
(填空题, 2.0分)在主方法main()中通过加载src/main/resources目录下的applicationContext.xml配置文件来获取ApplicationContext对象。可以通过 ClassPathXmlApplicationContext 实现类创建。
-
(填空题, 2.0分)Spring MVC请求映射方式可以通过@RequestMapping的method属性指定请求方式,也可以通过Spring MVC的组合注解来实现。若要获取Post方式的请求可以用组合注解中的 @PostMapping 注解。
-
(填空题, 2.0分)Spring MVC使用集合绑定,处理器的形参名称需要使用 @RequestParam 注解标注。
-
(填空题, 2.0分)Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基于 注解 的方式。
四. 简答题(共3题,18.0分)
- (简答题, 6.0分)请简述ModelAndView、String和void三种返回类型的作用。
void 如果返回值为空,则响应的视图页面对应为默认访问地址
String 响应的视图页面为转到对应的资源
ModelAndView 可以携带参数并返回视图
- (简答题, 6.0分)请简述SpringMVC项目的开发流程。
创建项目
导入依赖
配置前端控制器
配置后端控制器
完善前端控制器的配置
创建视图
启动tomcat运行测试
- (简答题, 6.0分)从前端获取到 JSON 数据,请利用Spring MVC绑定JSON数据,补充请求处理方法。a) 前端发送请求url="/getProduct",其中单个商品对象json内容:{ "proId": "101", "proName" :"三文鱼", "money" : 102.5}b)controller处理器中的方法: @Controller public class ProductController { // 补充完成:创建getProduct()获取前端的单个商品,并打印输出商品信息(伪代码) }
/*url="/getProduct"*/
@Controller public class ProductController {
**// 补充完成:创建getProduct()获取前端的单个商品,并打印输出商品信息(伪代码)**
@RequestMapping("/getProduct")
public void getProduct(@RequestBody Product product){
String proId= product.getProId();
String proName =product.getProName();
String money= product.getMoney();
System.out.printLn("获取到id为"+proId+"的商品名称"+proName+",价格是"+money)
}
}
五. 编程题(共1题,12.0分)
- (编程题, 12.0分)利用Spring MVC完成UserController的增删改查的请求。要求:在浏览器中使用RESTFul风格的URL发起请求,由Spring MVC接收请求并获取请求参数。 1)创建的项目并导入spring相关jar包;(1分) 2)创建的Spring MVC的配置文件名称为spring-mvc.xml及其他相关配置;(6分) 3)controller层创建的包名为cn.goktech.controller,并创建UserController实现更新操作和单个查询, 并要求获取RESTFul风格的URL中的参数;(4分) 4)同时,如果跳转成功,则返回"success",通过视图解析器,跳转到对应的页面(页面内容不重要)。springmvc简单应用.rar【注意】请将编程题目记下(或下载附件压缩包),将机考试卷检查完毕,确认无误后,优先提交试卷。之后在电脑idea+mysql完成该编程题。 提交内容: 源代码 + 代码运行结果+数据库表内容截图,压缩成压缩包压缩包命名:19计应N班+学号+姓名提交方式:将压缩包发送至授课老师处