@[toc]
一、 单选题
1、在使用Spring Boot开发应用时,使用事务的注解是( )。
(2.0)
A、 @EnableTransaction
B、 @Transactional
C、 @Translation
D、 @Transaction
正确答案: B
2、通过maven插件,可以将spring boot打包成一个jar包,并通过指令运行,下面哪个是正确的打包指令( )
(2.0)
A、 java -jar xxx.jar
B、 mvn clean package
C、 mvn package clean
D、 maven clean package
正确答案: B
3、使用Spring Data JPA访问MySQL时,下面针对User实体创建的Repository接口类正确的是( )。
(2.0)
A、 public interface UserRepository implement JpaRepository<User, Integer>{}
B、 public interface UserRepository extends JpaRepository{}
C、 public interface UserRepository extends JpaRepository<User, Integer>{}
D、 public interface UserRepository implement JpaRepository {}
正确答案: C
4、以下访问json对象的值的方法中,结果是www.jit.edu.cn的是( )。
myObj ={
"name":"网站",
"num":3,
"sites"{
"site1":"www.jit.edu.cn",
"site2":"www.baidu.com",
"site3":"www.google.com"
}
}
(2.0)
A、 myObj.sites
B、 myObj.sites[0]
C、 myObj.sites[site1]
D、 myObjsites
正确答案: B
5、使用springdata jpa访问mysql数据库时,下面哪个注解标识了该类是一个持久化的实体( )。
(2.0)
A、 @GeneratedValue
B、 @Entity
C、 @Table
D、 @Column
正确答案: B
6、ddl-auto是hibernate的配置属性,其主要作用是:自动创建、更新、验证数据库表结构。使用下面哪个属性会保证原有数据不会清空,只会更新( )。
(2.0)
A、 create
B、 create-drop
C、 update
D、 validate
正确答案: C
7、通过@Value注解可以加载自定义的配置属性,下列写法正确的是( )。
(2.0)
A、 @Value(“${com.name}”)
B、 @Value(“#{com.name}”)
C、 @Value(“&{com.name}”)
D、 @Value(“%{com.name}”)
正确答案: A
解析:
8、在swagger2的注解中,下面哪个注解是用来给实体类增加说明的( )。
(2.0)
A、 @Api(tags ="用户实体")
B、 @ApiOperation(value = "用户实体")
C、 @ApiModel(description="用户实体")
D、 @ApiOperation(tags = "用户实体")
正确答案: A
9、下面关于swagger2的说法不正确的是( )。
(2.0)
A、 通过创建swagger2可以减少创建文档的工作量。
B、 通过swagger2创建的接口文档只能给指定的终端使用。
C、 swagger2生成的接口文档提供了页面测试功能来调试每个RESTful API。
D、 需要通过@EnableSwagger2注解来启用Swagger2。
正确答案: B
10、下列注解中,与@PostMapping("/")等价的是( )。
(2.0)
A、 @RequestMapping(value="/", method=RequestMethod.POST)
B、 @RequestMapping(value="/", method=RequestMethod.GET)
C、 @RequestMapping(value="/", method=RequestMethod.DELETE)
D、 @RequestMapping(value="/", method=RequestMethod.PUT)
正确答案: A
11、下面哪个不是Java应用程序的开发框架( )。
(2.0)
A、 Spring
B、 Mybatis
C、 Tomcat
D、 SpringCloud
正确答案: C
12、关于Restful API的说明注解,说法错误的是()
(2.0)
A、 @Api注解用在请求的方法上,说明方法的用途、作用
B、 @ApiOperation注解用在请求的方法上,用来给API增加说明
C、 @ApiImplicitParam注解用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
D、 @ApiImplicitParams和@ApiImplicitParam注解用来给参数增加说明
正确答案: A
13、以下哪个注解用来获取请求路径中大括号{}里面的单个参数()
(2.0)
A、 @RequestParam
B、 @PathVariable
C、 @RequestBody
D、 以上都是可以
正确答案: B
14、下列关于YAML配置文件说法正确是()
(2.0)
A、 YAML配置文件的内容是“key:value”形式的键值对,并使用缩进写法
B、 YAML配置文件的行内式写法配置单列集合属性,包含属性值的中括号“[]”可以省略
C、 YAML配置文件的行内式写法配置单列集合属性,包含属性值的大括号“{}”可以省略
D、 以上都不对
正确答案: B
15、关于@ConfigurationProperties和@Value注解的说法,正确的是()
(2.0)
A、 @ConfigurationProperties和@Value都是spring boot框架自带的
B、 进行属性注入时,@ConfigurationProperties和@Value注解配置中必须设置属性的setter方法
C、 @ConfigurationProperties进行配置文件属性值注入时,支持JSR 303 数据校验
D、 @Value进行配置文件属性注入时,支持松散绑定语法
正确答案: C
16、关于MVC架构与三层架构的说法不正确的是( )。
(2.0)
A、 三层架构主要用于体系架构,具有结构清晰、耦合度低的特点。
B、 MVC是表现模式,可以降低层与层之间的依赖。
C、 MVC是三层架构的是别名,用于实现“高内聚低耦合”。
D、 三层架构的分层模式是典型的上下关系,上层依赖于下层。
正确答案: C
17、@SpringBootApplication是Spring Boot项目的核心注解,主要目的是开启自动配置,以下哪个不是@SpringBootApplication的构成部分( )
(2.0)
A、 @Configuration
B、 @EnableAutoConfiguration
C、 @ComponentScan
D、 @Autowired
正确答案: D
18、当提交表单数据时,默认使用的是以下哪个Content-Type的格式( )
(2.0)
A、 application/x-www-form-urlencoded
B、 application/json
C、 application/xml
D、 text/xml
正确答案: A
19、以下访问json对象的值的方法中,结果是www.jit.edu.cn的是( )
myObj ={
"name": "网站",
"num": 3,
"sites": [ "www.jit.edu.cn", "www.baidu.com", "www.google.com" ]
}
(2.0)
A、 myObj.sites
B、 myObj.sites[0]
C、 myObj.sites[1]
D、 myObjsites
正确答案: B
20、通过maven插件,可以将spring boot打包成一个jar包,并通过指令运行,下面哪个是正确的运行指令( )
(2.0)
A、 mvn clean package
B、 mvn package -DskipTests
C、 java -jar xxx.jar
D、 maven clean package
正确答案: C
21、以下哪个不是MVC架构中的内容()
(2.0)
A、 视图层
B、 控制层
C、 数据层
D、 业务实体类
正确答案: D
22、以下不属于Spring Boot优点是的()
(2.0)
A、 可快速构建独立的Spring应用
B、 无需打包即可快速部署
C、 提供依赖启动器简化构建配置
D、 极大程度地自动化配置了Spring和第三方库
正确答案: B
23、关于@ConfigurationProperties和@Value注解的说法,正确的是()
(2.0)
A、 @ConfigurationProperties和@Value都是spring boot框架自带的
B、 进行属性注入时,@ConfigurationProperties和@Value注解配置中必须设置属性的setter方法
C、 @ConfigurationProperties进行配置文件属性值注入时,支持JSR 303 数据校验
D、 @Value进行配置文件属性注入时,支持松散绑定语法
正确答案: C
24、下面哪个不是通过spring initializer新建的spring boot工程包含的文件()
(2.0)
A、 含有main方法的java类
B、 application.properties配置文件
C、 pom.xml即Maven构建说明文件
D、 用于存放编写Web层相关的实现的java类
正确答案: D
25、关于MVC架构与三层架构的说法不正确的是
(2.0)
A、 三层架构是基于业务逻辑来分的,结构清晰、耦合度低。
B、 三层架构的分层模式是典型的上下关系,上层依赖于下层。
C、 MVC和三层架构不能同时应用于同一个工程。
D、 MVC作为表现模式是不存在上下关系的,而是相互协作关系。
正确答案: C
26、下面哪个是持久层框架( )
(2.0)
A、 MyBatis
B、 Struts2
C、 Spring Boot
D、 Spring Cloud
正确答案: A
27、下面会自动扫描指定包下符合条件的组件,并注册成bean的注解是( )。
(2.0)
A、 @Configuration
B、 @EnableAutoConfiguration
C、 @ComponentScan
D、 @Autowired
正确答案: C
28、Spring Data JPA可以通过解析方法名来创建查询,下列写法不正确的是()
(2.0)
A、 findByAgeOrderByLastnameDesc (String name)
B、 findByUsernameNotAddress(String name, String addr)
C、 findByUsernameOrAddress(String name, String addr)
D、 findByUsernameAndAddress(String name, String addr)
正确答案: B
29、被修饰的成员变量只能被该类自身所访问,不能被其它任何类 ( 包括子类 ) 访问的是( )
(2.0)
A、 private
B、 protected
C、 public
D、 default
正确答案: A
30、下列注解中,与@PostMapping("/")等价的是( )。
(2.0)
A、 @RequestMapping(value="/", method=RequestMethod.POST)
B、 @RequestMapping(value="/", method=RequestMethod.GET)
C、 @RequestMapping(value="/", method=RequestMethod.DELETE)
D、 @RequestMapping(value="/", method=RequestMethod.PUT)
正确答案: A
31、下面哪个不是通过spring initializer新建的spring boot工程包含的文件( )。(2.0)
A、 含main方法的java类
B、 application.properties配置文件
C、 pom.xml即Maven构建说明文件
D、 用于存放编写Web层相关的实现的java类
正确答案: D
32、关于MVC架构与三层架构的说法不正确的是( )。(2.0)
A、 三层架构是基于业务逻辑来分的,结构清晰、耦合度低。
B、 三层架构的分层模式是典型的上下关系,上层依赖于下层。
C、 MVC和三层架构不能同时应用于同一个工程。
D、 MVC作为表现模式是不存在上下关系的,而是相互协作关系。
正确答案: C
33、下 面哪个是持久层框架( )。(2.0)
A、 MyBatis
B、 Struts2
C、 Spring Boot
D、 Spring Cloud
正确答案: A
34、下面会自动扫描指定包下符合条件的组件,并注册成bean的注解是( )。
(2.0)
A、 @Configuration
B、 @EnableAutoConfiguration
C、 @ComponentScan
D、 @Autowired
正确答案: C
35、被修饰的成员变量只能被该类自身所访问,不能被其它任何类 ( 包括子类 ) 访问的是( )。
(2.0)
A、 private
B、 protected
C、 public
D、 default
正确答案: A
36、以下访问json对象的值的方法中,结果是www.jit.edu.cn的是( )
myObj ={
"name": "网站",
"num": 3,
"sites": [ "www.jit.edu.cn", "www.baidu.com", "www.google.com" ]
}
(2.0)
A、 myObj.sites
B、 myObj.sites[0]
C、 myObj.sites[1]
D、 myObjsites
正确答案: B
37、通过maven插件,可以将spring boot打包成一个jar包,并通过指令运行,下面哪个是正确的运行指令( )
(2.0)
A、 mvn clean package
B、 mvn package -DskipTests
C、 java -jar xxx.jar
D、 maven clean package
正确答案: C
38、当提交表单数据时,默认使用的是以下哪个Content-Type的格式( )
(2.0)
A、 application/x-www-form-urlencoded
B、 application/json
C、 application/xml
D、 text/xml
正确答案: A
39、下列注解中,与@PostMapping("/")等价的是( )。
(2.0)
A、 @RequestMapping(value="/", method=RequestMethod.POST)
B、 @RequestMapping(value="/", method=RequestMethod.GET)
C、 @RequestMapping(value="/", method=RequestMethod.DELETE)
D、 @RequestMapping(value="/", method=RequestMethod.PUT)
正确答案: A
40、通过@Value注解可以加载自定义的配置属性,下列写法正确的是( )。
(2.0)
A、 @Value(“${com.name}”)
B、 @Value(“#{com.name}”)
C、 @Value(“&{com.name}”)
D、 @Value(“%{com.name}”)
正确答案: A
二、 判断题
1、使用Spring Initializer搭建的Spring Boot项目会默认生成项目启动类。
(1.0)
正确答案: 正确
2、Spring Boot提供了对所有第三方框架的整合支持和版本管理。
(1.0)
正确答案: 错误
3、application.yaml配置文件的属性类型只能是数组类型。
(1.0)
正确答案: 错误
4、使用@ConfigurationProperties注解注入属性值时,必须为对应的属性提供setter方法。
(1.0)
正确答案: 正确
5、@Value注解是Spring Boot提供的,用来读取配置文件的属性并能够批量注入Bean。
(1.0)
正确答案: 错误
6、@Value注解支持所有数据类型的属性读取和注入。
(1.0)
正确答案: 错误
7、@RestController 是@ResponseBody和@Controller的组合注解,默认返回json格式数据。
(1.0)
正确答案: 正确
8、@GetMapping和@RequestMapping(method=RequestMethod.GET)等价
(1.0)
正确答案: 正确
9、在Spring Boot中使用事务只需要在方法上添加注解即可,该注解是@Transactional。
(1.0)
正确答案: 正确
10、一个Spring Boot工程可以配置多份不同环境的配置文件,应用和安装到几个不同的环境。
(1.0)
正确答案: 正确
11、一个Spring Boot工程可以配置多份不同环境的配置文件,应用和安装到几个不同的环境。
(1.0)
正确答案: 正确
12、在Spring Boot中使用事务只需要在方法上添加注解即可,该注解是@Transactional。
(1.0)
正确答案: 正确
13、HTTP的状态码中,404表示服务器发生错误,无法处理客户端的请求。
(1.0)
正确答案: 错误
14、@RestController 是@ResponseBody和@Controller的组合注解,默认返回json格式数据。
(1.0)
正确答案: 正确
15、整合springboot和mybatis时,需要在pom文件中增加MySQL和MyBatis依赖。
(1.0)
正确答案: 正确
16、spring.jpa.hibernate.ddl-auto是hibernate的配置属性,当该属性值为update时,无法自动创建数据表。
(1.0)
正确答案: 错误
17、spring-data-jpa的一大特性是通过解析方法名创建查询。
(1.0)
正确答案: 正确
18、第一次访问服务器,服务器会增加Set-Cookie头字段,将Cookie信息发送给浏览器,并保存在客户端。
(1.0)
正确答案: 正确
19、JPQL 语句中只能通过": 变量"的格式来指定参数,同时在方法的参数前面使用 @Param 将方法参数与 JPQL 中的命名参数对应。
(1.0)
正确答案: 错误
20、Spring Boot没有内置内置 Tomcat/ Jetty 等容器,需要额外配置。
(1.0)
正确答案: 错误
21、spring boot 工程中无法通过命令行方式激活指定环境的配置文件
(1.0)
正确答案: 错误
22、使用Spring Initializer搭建的Spring Boot项目会默认生成项目启动类。
(1.0)
正确答案: 正确
23、Spring Boot提供了对所有第三方框架的整合支持和版本管理。
(1.0)
正确答案: 错误
24、使用@ConfigurationProperties注解注入属性值时,必须为对应的属性提供setter方法。
(1.0)
正确答案: 正确
25、application.yaml配置文件的属性类型只能是数组类型。
(1.0)
正确答案: 错误
26、@Value注解支持所有数据类型的属性读取和注入。
(1.0)
正确答案: 错误
27、@GetMapping和@RequestMapping(method=RequestMethod.GET)等价
(1.0)
正确答案: 正确
28、在Spring Boot中使用事务只需要在方法上添加注解即可,该注解是@Transactional。
(1.0)
正确答案: 正确
29、HTTP是Hyper Text Transfer Protocol的缩写,即超文本传输协议。
(1.0)
正确答案: 正确
30、表单默认的提交数据的格式是application/json。
(1.0)
正确答案: 错误
31、表单默认的提交数据的格式是application/json。
(1.0)
正确答案: 错误
32、HTTP是Hyper Text Transfer Protocol的缩写,即超文本传输协议。
(1.0)
正确答案: 正确
33、spring boot 工程中无法通过命令行方式激活指定环境的配置文件
(1.0)
正确答案: 错误
34、Spring Boot内置了 Tomcat/ Jetty 等,不需要独立的容器。
(1.0)
正确答案: 正确
35、JPQL 语句中只能通过": 变量"的格式来指定参数,同时在方法的参数前面使用 @Param 将方法参数与 JPQL 中的命名参数对应。
(1.0)
正确答案: 错误
36、第一次访问服务器,服务器会增加Set-Cookie头字段,将Cookie信息发送给浏览器,并保存在客户端。
(1.0)
正确答案: 正确
37、spring-data-jpa的一大特性是通过解析方法名创建查询。
(1.0)
正确答案: 正确
38、@RestController 注解为组合注解,等同于Spring中@Controller+@ResponseBody注解
该注解为组合注解,等同于Spring中@Controller+@ResponseBody注
(1.0)
正确答案: 正确
39、@ApiOperation用在请求的方法上,说明方法的用途、作用
(1.0)
正确答案: 正确
40、spring-boot-starter-web依赖启动器的主要作用是提供Web开发场景所需的底层所有依赖文件,但是它不能对Web开发场景所需的依赖文件进行统一管理。
(1.0)
正确答案: 错误
三、 填空题
1、某程序员在Spring boot中配置 application.yaml ,使用MyBatis连接MySQL数据库。已知数据表数据库在本地,且已创建,只需要更新数据表结构。请完成下面配置文件。
spring:
(1) :
(2) : jdbc:mysql:// (3) : (4) /jpadatabase //数据库在本地
(5) : root
password: ******
driver-class-name: com.mysql.cj.jdbc.Driver
(10.0)
正确答案:
第1空:
datasource
第2空:
url
第3空:
localhost;127.0.0.1
第4空:
3306
第5空:
username
2、在Springboot应用中,使用POST方法通过HTTP请求访问接口,请补全以下代码。
(1)
private BookMapper bookMapper;
@RequestMapping(value = "/one", method = RequestMethod. (2) )
public Book MyDemo( (3) Book book, (4) Integer id){
return (5) .getBookInfo(book);
}
正确答案:
第1空:
@Autowired
第2空:
POST
第3空:
@RequestBody
第4空:
@RequestParam
第5空:
bookMapper
四、 简答题
1、已知前端发送的HTTP请求如下:http://localhost:8090/hello/2
后端接口代码如下:
@RequestMapping(value = "/hello/{id}", method = RequestMethod.GET)
public String getBook(@PathVariable Integer id) {
system.out.println("out"+id);
return null;
}
请问控制台上输出的结果是多少
2、下列是application.properties配置文件中的属性值,如果在程序中应用,请给出app.description的输出结果
server.port=8081
app.name=c
app.description=${app.name} and ${server.port}
五、 论述题
1、已知某系统使用的是spring boot技术实现学生管理的后端功能,已经创建的数据库,数据库名为mydb,其中,数据库表名为student,具体字段如下:id,整型,表示学号;name,字符型,表示学生姓名;hobby,字符型,表示学生的爱好;age,整型,表示学生年龄。
请使用注解的方式,使用mybatis完成以下基本操作。具体要求如下:
(1)在配置文件application.properties中完成通过MyBatis访问mysql的数据库配置。(10分)
(2)编写数据库表对应的实体类,其中setter方法和getter方法可以省略(但必须标注说明)。(10分)
(3)创建StudentMapper接口类,并在类中定义具体接口,4个接口的功能包括:接口1、根id查询一条学生的信息;接口2、在数据库中插入一条学生信息,包括姓名、爱好和年龄;接口3、根据id删除一条学生信息;接口4、根据id更新学生的爱好。(10分)
(3)编写StudentController类,直接在controller层调用StudentMapper的接口1,即测试根据id查询一条学生信息,并返回学生信息。(10分)
正确答案:
(1)
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
(2)
public Class Student{
private Integer id;
private String name;
private String hobby;
private Integer age;
//省略setter 和getter 方法
}
(3)
@Mapper
public interface StudentMapper{
@Select("select * from student where id=#{id}")
public Student findById(Integer id);
@Insert("insert into student(name,hobby,age) values(#{name},#{hobby},#{age})")
public int insertStudent(Student student);
@Update("update student set hobby=#{hobby} where id=#{id}")
public int update(Student student);
@Delete("delete from student where id=#{id}")
public int delete(Integer id);
}
(4)
@RestController
public class StudentController{
@Autowired
public StudentMapper studentmapper;
@GetMapping("one")
public Student findById(@RequestParam Integer id){
return studentmapper.findById(id);
}
}