首页 > 编程语言 >JAVA 草稿

JAVA 草稿

时间:2023-06-28 14:44:06浏览次数:41  
标签:Map code JAVA 草稿 spring Student new integerStudentEntry

1. 项目启动报错:Failed to start bean 'documentationPluginsBootstrapper'

度娘解释:swagger 的匹配模式进行调整导致,导致默认的匹配默认在spring boot中不会使用,导致报错。
处理方式:(不建议降低spring boot 版本,调整太大了)

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

2. spring gateway路由出现503

是因为在Spring Cloud 2020版本以后,默认移除了对Netflix的依赖,其中就包括Ribbon,官方默认推荐使用Spring Cloud Loadbalancer正式替换Ribbon,并成为了Spring Cloud负载均衡器的唯一实现,只需要将含有这个过滤器的依赖进行导入就行了

<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>

3. spring gateway路由出现404

配置如下,我期望路径包含/ebook/**时,能向service-book服务发请求,进入指定方法体。

spring:
  cloud:
    gateway:
      routes:
        - id: ebook
          uri: lb://service-ebook  #用百度做转发测试 http://www.baidu.com
          predicates: # 断言
            - Path=/ebook/**

实际情况报错:
image
报错原因:
gateway,获取到指定请求后返回请求的路径为http://127.0.0.1:8890/ebook/auth/code,但实际上路径应为/auth/code,没有/ebook
处理方式

spring:
  cloud:
    gateway:
      default-filters:
        - StripPrefix=1

规则:
StripPrefix=1 :/ebbok/auth/code -> /auth/code
StripPrefix=2 :/ebbok/auth/code -> /code
......

4. List 转为 Map

public void test4() {
        Student stu1 = new Student("张三", 23);
        Student stu2 = new Student("李四", 24);
        Student stu3 = new Student("王五", 25);
        Student stu4 = new Student("赵六", 23);
        Student stu5 = new Student("前七", 25);
 
        List<Student> strList = new ArrayList<>();
        Collections.addAll(strList, stu1, stu2, stu3, stu4,stu5);
        // 1.根据age作为key,name作为value转map(age相同时前面覆盖后面的数据)
        Map<Integer, String> collect = strList.stream().collect(Collectors.toMap(Student::getAge, Student::getName, (key1,key2) -> key1 ));
        for (Map.Entry<Integer, String> integerStudentEntry : collect.entrySet()) {
            System.out.println(integerStudentEntry.getKey() + ":" + String.valueOf(integerStudentEntry.getValue()));
        }
 
        // 2.根据age作为key,student对象作为value转map(age相同时前面覆盖后面的数据)
        Map<Integer, Student> collectStu = strList.stream().collect(Collectors.toMap(Student::getAge, Function.identity(), (key1, key2) -> key2));
        for (Map.Entry<Integer, Student> integerStudentEntry : collectStu.entrySet()) {
            System.out.println(integerStudentEntry.getKey() + "::" + String.valueOf(integerStudentEntry.getValue()));
        }
 
        // 3.根据age作为key,student对象作为value分组转map(age相同时前面覆盖后面的数据)
        Map<Integer, List<Student>> listMap = strList.stream().collect(Collectors.groupingBy(Student::getAge));
        for (Map.Entry<Integer, List<Student>> integerStudentEntry : listMap.entrySet()) {
            System.out.println(integerStudentEntry.getKey() + "::" + String.valueOf(integerStudentEntry.getValue()));
        }
    }

标签:Map,code,JAVA,草稿,spring,Student,new,integerStudentEntry
From: https://www.cnblogs.com/zz-1q/p/17375031.html

相关文章

  • java 解析csv
    opencsvjava读取csv的类库主要有两种,opencsv和javacsv,研究发现,javacsv最后一次更新是2014-12-10,很久不维护了。opencsv是apache的项目,并且至今仍在维护,所以决定使用opencsv。csvcsv文件,全名commaseparatedvalues,默认以逗号分隔,是纯文本文件。虽然用excel打开后格式排版了,但是那......
  • java 序列化 serialVersionUID transient
    问题再现User类实现了序列化,但是没有声明版本号,这个对象放在memcache中,User新添加了1个字段后,把之前的对象从缓存中取出来时,出现了InvalidClassException,为什么会出现这个错误?序列化序列化就是将对象转为流,用于传输或保存。序列化的是“对象状态”,所以就不包括静态变量;反序列化是从......
  • java8 LocalDateTime/LocalDate/LocalTime、java.util.Date/java.sql.Date区别及日期
    先介绍一下,LocalDateTime/LocalDate/LocalTime、java.util.Date/java.sql.Date区别LocalDateTime/LocalDate/LocalTimejava.time.LocalDateTime,是一个日期+时间,不带时区,它是个不可更改对象,精确到纳秒。它的日期可以认为是生日,它的时间可以认为是挂钟的时间,比较LocalDateTime时用eq......
  • 在linux上启动arthas报“Can not find java process”
    发生背景完整报错信息:[***@localhost~]$java-jararthas-boot.jar[INFO]JAVA_HOME:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64/jre[INFO]arthas-bootversion:3.6.9[INFO]Cannotfindjavaprocess.Trytorun`jps`commandliststheinstrume......
  • 3、Apache Kudu集成impala(shell和java操作)的详细操作
    ApacheKudu系列文章1、ApacheKudu介绍及架构、工作原理、两种部署方式、使用限制详解2、ApacheKudu-javaapi操作kudu详细示例以及kudu的三种实现示例3、ApacheKudu集成impala(shell和java操作)的详细操作(文章目录)本文简单的介绍了通过impala操作kudu,包括通过shell和......
  • 浅谈 Kotlin 与 Java 互操作 (上)
    前言浅谈Kotlin与Java互操作(上)Kotlinis100%interoperablewithJavaandAndroidKotlin官网的一句标语,其旨意是表达kotlin的Interoperable-互操作特性互操作就表示Kotlin中可以调用Java的开放接口来访问成员属性和成员方法,同时在Java代码中也百分百兼容Kotlin......
  • Java-IDEA的基础设置及插件安装,让IDEA更好用!
     Java-IDEA的基础设置及插件安装,让IDEA更好用!IDEA简单配置教程:https://mp.weixin.qq.com/s/Z5QLYyvjiiS0xg9wpSTvewIDEA高效使用插件:https://mp.weixin.qq.com/s/ShnHX9uxd4esiYHOA8TZvQIDEA快捷键操作指南:https://blog.csdn.net/qq_38963960/article/details/89552704 ......
  • java 异步方法总结(减少主线程阻塞)
    主要点第一点:@Async只能使用到被代理的对象方法上,即代理类的入口方法处,且方法必须是public的。第二点:事务处理机制使用@Async异步注解不能和@Transaction事务注解在同一个方法上同时使用,不然事务注解将无效。要使用事务,需要把事务注解提取到方法里面的子方法上。  代码实......
  • 2、Apache Kudu-java api操作kudu详细示例以及kudu的三种实现示例
    ApacheKudu系列文章1、ApacheKudu介绍及架构、工作原理、两种部署方式、使用限制详解2、ApacheKudu-javaapi操作kudu详细示例以及kudu的三种实现示例3、ApacheKudu集成impala(shell和java操作)的详细操作(文章目录)本文介绍了javaapi操作kudu详细示例以及kudu的三种......
  • JAVA常用类---静态内部类
    publicclassOuter{privateStringname="李四";privateStringsex="男";//静态类和外部类权限一样/*外部调用Outer.Interinter=newOuter.Inter();Outer.Inter仅表示包含关系,如果是成员类应为Outer.Interinter=newOuter().Inter();还需要导......