SpringBoot 阶段测试 1

SpringBoot 阶段测试 1目录

  • SpringBoot 阶段测试 1
  • 1、使用JDK8新语法完成下列集合练习:
    • 1.1 List中有1,2,3 , 4,5 , 6 , 7,8,9几个元素要求;
      • (1) 将奇、偶数分别汇聚成一个List
      • (2) 分别求出奇数和偶数的和
    • 1.2 已知集合:[[1,3,5,7,5,3,11],[2,4,6,8,6,4,2],[5,8,7]]要求:
      • 1.2.1 集合转换:["1","3","5","7","5",...,"5", "8","7"] 。
  • 2、springboot框架下的为什么有些依赖是不需要版本号的?
  • 3、springboot核心注解是什么,深入介绍下这个注解 。
  • 4、pringboot为什么可以打包成可执行的jar,执行命令是什么?
    • 4.1 MANIFEST.MF的主要内容:
    • 4.2 执行命令
  • 5、Springboot的配置文件是哪个?你知道有哪些格式 , 这些格式的优先级是什么?配置过哪些内容?
    • 5.1Springboot的配置文件
    • 5.2 Springboot的配置文件格式,和优先级
    • 5.3 配置过哪些内容
  • 6、日志有哪些级别 。springboot的默认日志框架是什么?项目中是如何使用的?
  • 7、springboot中你知道有哪些方式可以用来读取配置文件?他们的区别是什么?
  • 8、你觉得在哪些业务中可以使用定时任务,在springboot中如何实现定时任务?
  • 9、你觉得在哪些业务中可以使用异步任务,在 springboot中如何实现异步任务?
  • 10、redis有哪些数据类型?你常用哪些数据类型?
  • 11、如何在redis中保存一个java对象 , 又如何把redis中数据变为java对象?
  • 12、什么是序列化?为什么需要序列化,在哪些场景中需要序列化?
  • 13、redis是单线程还是单进程的?
  • 14、简述下redis 中 setnx命令的效果或作用?
  • 15、介绍下你用redis做过的一些业务,以及为什么你用redis 做 。
  • 16.事务隔离级别有哪些?MySQL的默认隔离级别是?
  • 17、为什么要使用统一返回类?
  • 18、什么叫物理删除什么叫逻辑删除 , 分别适用于哪些场景?
  • 19、为什么要使用swagger?
  • 20、使用springboot框架相较于之前的spring或者springmvc框架有哪些优势?
1、使用JDK8新语法完成下列集合练习:1.1 List中有1,2,3,4,5,6 , 7,8,9几个元素要求;(1) 将奇、偶数分别汇聚成一个List//初始化集合List<Integer> numList = new ArrayList<>();//批量添加数据Collections.addAll(numList,1,2,3,4,5,6,7,8,9,10);//或者//List<Integer> numList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);//方法一: 使用 forEachList<Integer> oddList = new ArrayList<>();List<Integer> evenList = new ArrayList<>();numList.forEach(num-> {boolean temp = (num%2 == 1) ? oddList.add(num) : evenList.add(num);});log.info("numList:{}",numList); //numList:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]log.info("oddList:{}",oddList); //oddList:[1, 3, 5, 7, 9]log.info("evenList:{}",evenList); //evenList:[2, 4, 6, 8, 10]//方法二: 使用 filter 过滤 + collect 收集List<Integer> oddList2 =numList.stream().filter(num -> num%2==1).collect(Collectors.toList());List<Integer> evenList2 = numList.stream().filter(num -> num%2==0).collect(Collectors.toList());log.info("oddList2:{}",oddList2); //oddList2:[1, 3, 5, 7, 9]log.info("evenList2:{}",evenList2); //evenList2:[2, 4, 6, 8, 10](2) 分别求出奇数和偶数的和//奇数集合//使用选出来的奇数求和Optional<Integer> oddSum = oddList.stream().reduce((n, m) -> n + m);log.info("使用选出来的奇数求和 oddSum:{}",oddSum.get());//使用选出来的奇数求和 oddSum:25//使用源集合 求和oddSum = numList.stream().filter(num -> num % 2 == 1).reduce((n, m) -> n + m);log.info("使用源集合 求和 oddSum:{}",oddSum.get());//使用源集合 求和 oddSum:25//偶数集合//使用选出来的偶数 求奇数和Optional<Integer> evenSum = evenList.stream().reduce((n, m) -> n + m);log.info("使用选出来的偶数 求奇数和 evenSum:{}",evenSum.get());//使用选出来的偶数 求奇数和 evenSum:30//使用源集合 求偶数和evenSum = numList.stream().filter(num->num%2 == 0).reduce((n,m)->n+m);log.info("使用源集合 求偶数和 evenSum:{}",evenSum.get());//使用源集合 求偶数和 evenSum:301.2 已知集合:[[1,3,5,7,5,3,11],[2,4,6,8,6,4,2],[5,8,7]]要求:1.2.1 集合转换:["1","3","5","7","5",...,"5", "8","7"] 。List<List<Integer>> oldList = new ArrayList<>();Collections.addAll(oldList,Arrays.asList(1,3,5,7,5,3,11),Arrays.asList(2,4,6,8,6,4,2),Arrays.asList(5,8,7));List<String> newList = new ArrayList<>();oldList.forEach(num->num.forEach(n->newList.add("\""+n+"\"")));//或//oldList.forEach(nums->nums.stream().map(n -> "\""+n+"\"").forEach(n->newList.add(n)));log.info("oldList:{}",oldList); //oldList:[[1, 3, 5, 7, 5, 3, 11], [2, 4, 6, 8, 6, 4, 2], [5, 8, 7]]log.info("newList:{}",newList); //newList:["1", "3", "5", "7", "5", "3", "11", "2", "4", "6", "8", "6", "4", "2", "5", "8", "7"]

推荐阅读