目 录CONTENT

文章目录

学习笔记(杂用)(三)

筱晶哥哥
2021-01-28 / 0 评论 / 0 点赞 / 50 阅读 / 9440 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本篇文章主要记录本人学习过程中的一些小干货。

Intellij IDEA 快速找到某个maven依赖所在的pom.xml

在企业开发中,公司项目各模块的依赖是比较复杂,往往是A模块中依赖了B、C、D…等模块,此时我们若想在A模块中查找某个jar依赖就会很麻烦,因为无法在A的pom.xml中直接搜索到。最笨的方法就是对A模块依赖的其他模块进行逐一搜索,但我想你并不想这么做。下面我通过一个实际的案例,来简单地谈谈 IDEA 如何快捷地找到相应的pom.xml。

image-20210208102823640

进去依赖树后, Ctrl + F 搜索即可。

java.lang.IllegalStateException: Duplicate key问题解决方案

image-20210209173801385

重定向携带数据

重定向一般携带的数据会丢失,我们一般使用的是

Model model

这样是不行的,我们可以使用 RedirectAttributes redirectAttributes

redirectAttributes.addFlashAttribute("xxx", xxx);

这样重定向就可以携带原来的数据了

Windows 端口被占用

netstat -aon|findstr "端口号"

然后会得到占用的 PID,到任务管理器去结束它。

tasklist|findstr PID  # 查看是哪个进程占用了端口

关于重定向RedirectAttributes的用法

RedirectAttributesSpring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类

他有两种带参的方式:

第一种

redirectAttributes.addAttributie("param",value);

这种方法相当于在重定向链接地址追加传递的参数,例如:

redirectAttributes.addAttributie("param1",value1);

redirectAttributes.addAttributie("param2",value2);

return "redirect:/path/list";

以上重定向的方法等同于

return "redirect:/path/list?param1=value1&param2=value2"

注意这种方法直接将传递的参数暴露在链接地址上,非常的不安全,慎用。

第二种

redirectAttributes.addFlashAttributie("param",value);

这种方法是隐藏了参数,链接地址上不直接暴露,但是能且只能在重定向的页面获取 param 参数值。其原理就是放到 session 中,session 在跳到页面后马上移除对象。

如果是重定向一个 controller 中是获取不到该 param 属性值的。

除非在controller 中用(@RequestParam(value = "param") String param)注解,采用传参的方式。

页面获值例如:

redirectAttributes.addFlashAttributie("param1",value1);

redirectAttributes.addFlashAttributie("param2",value2);

return "redirect:/path/list.jsp";

在以上参数均可在 list.jsp 页面使用 EL表达式 获取到参数值 ${param}

controller 获得重定向的值例如:

redirectAttributes.addFlashAttributie("param1",value1);
redirectAttributes.addFlashAttributie("param2",value2);
return "redirect:/path/list/";

@RequestMapping("/list")
public List<Student> list(@RequestParam(value = "param1") String  param1,
   						  @RequestParam(value = "param2") String  param2,
                           ...){
    //TODO
    //your code
}

spring cloud集成分布式事务中间件seata报错 not support register type: null

在启动集成 seata 的微服务时报错:

image-20210224112619900

看了下发现,是我忘记把 seata 的两个配置文件复制到工程了,所以才报错

只要把 registry.conffile.conf 复制到工程就可以了

class path resource[org/springframework/web/servlet/mvc/method/annotation/xxx.class

具体报错内容

 nested exception is java.io.FileNotFoundException: class path resource[org/springframework/web/servlet/mvc/method/annotation/xxx.class] cannot be opened because it does not exist

问题原因

  • FileNotFoundException 这个错误是指找不到文件
  • 是因为少引入了依赖,所有会报错

个人解决办法

  • 引入依赖
  • 重新编译即可
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.8.RELEASE</version>
</dependency>

Spring Boot Configuration Annotation Processor not found in claspath

加入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

renren-fast 莫名报java.lang.IllegalStateException: dbType not support : null, url null

尝试使用Lifecycle下的clean清空下本地缓存。

在提一个建议,可以在 renren-fast 的 pom 里边的 <parent> 标签里边加个<relativePath />

如果再报错,再把 <relativePath /> 删掉。

如何解决IntelliJ在打包Maven项目时不打包配置文件

在pom文件中加上你的配置文件夹目录:

<build>
    <resources>
        <resource>
            <directory>src/res</directory>
        </resource>
    </resources>
</build>

Notepad++查看、编辑二进制文件——安装附加组件HexEditor实现

Notepad++是一款功能强大的编辑器,单独安装的Notepad++不能查看和编辑2进制、16进制文件,只要安装名为HexEditor的插件就可以了,这里分享出来。

插件下载地址与安装

有以下几种方式,我用的第3种

1、打开软件,点击菜单栏窗口右边的问号,然后点击获取插件:

image-20210305131102435

2、同样是在菜单栏,点击插件——Plugin Manager(即插件管理器)

image-20210305131147172

里面有很多可选插件,找到HexEditor就可以

image-20210305131159025

已经安装好的插件,在这里可以看到

image-20210305131210168

3、去Notepad++的插件下载主页,地址: https://sourceforge.net/projects/npp-plugins/files/

下面是下载与安装步骤:

  • 页面往下滑动,找到Hex Editor,单击打开

  • 选择最新的版本,单击打开

  • 进入页面后,选择HexEditor_0_9_5_UNI_dll.zip,单击就可以下载了。

  • 下载解压后,就能看到插件了,选中插件,复制

  • 找到自己安装的Notepad++的文件目录,打开plugins文件夹,然后粘贴

  • 完成后,确认关闭Notepad++,重新打开软件就可以看到有了二进制查看模式 ,右上角的 H

  • 单击这个按钮,你的文件就会显示成16进制格式了

  • 最后,可以在插件的options中更改设置,具体的就不说了。

MyBatis Generator:[WARNING] Table Configuration users matched more than one table

如果使用 mysql-connector-java 8.x 版本,generator 会为MySql中信息数据库(sys, information_schema, performance_schema)的表生成代码,若要避免这种操作,请在 JDBC URL 中加入属性“nullCatalogMeansCurrent=true”。

0

评论区