Hcy Blog

保持激情,只有激情,才有动力

springboot Maven打包

今天使用maven命令打包springboot项目成可执行jar,总是无法成功。表现为打包的jar包只有项目本身的Class,不包含依赖。但是把项目文件复制到其他目录就能正常使用。后来发现原因是这这样。项目是一个多Module项目,父pom中这样写的。1112131415161718192021 <build> <pluginManagement> ...

netty遇到的一个bug

​ 启动netty报如下异常,工具异常提示能确定重复使用Handler导致的,但我检查了代码不知道是哪里重复使用的。111213141516171819202122io.netty.channel.ChannelPipelineException: com.hcy.FrpsHandler is not a @Sharable handler, so can't be added or removed multiple t...

netty监听本地端口引发的问题

​ 昨天用netty写了一个内网穿透工具,服务器用的时阿里云,本地测试没问题后打算放服务器上测试一下,结果就是不能访问。​ 首先阿里云防火墙端口也打开了,首先怀疑阿里云防火墙配置不能立刻生效,结果等了十几分钟还是不行,然后又换了一台端口本来已经打开了的服务器,结果还是不行。​ 真是奇怪?能确定第二台服务器的端口是打开了的,也能确定程序在本地跑是正常的?????????​ 最后竟然是因为netty绑定本地端口使用的是bind(“127.0.0.1”,9000),如果将127.0....

springboot配置MappingJackson2HttpMessageConverter最佳实践

​上篇讲了,SpringMvc是如何将返回值转成Json的,默认情况下Springboot是如何配置HandlerAdapter的,如何根据配置文件影响到ObjectMapper的创建的。下面讲一讲如何做才是最佳实践,如何做能满足需求。1. 最大限度使用Springboot的自动配置如果我们想最大限度使用Springboot,且想修改接口返回Json格式等,那么我们可以在配置文件中配置常用的配置。我们在配置文件里打出spring.jackson,ide会给我们提示,...

springboot如何自动配置MappingJackson2HttpMessageConverter

​springboot开箱即用,写一个Controller,再配合RestController,无需其他配置,就能直接返回Json到前台,那他是怎么做到的呢?,如何定制它?,因为只靠默认是不能满足我们的需求的,花了点时间看下源码,进行如下总结。springmvc如何将返回值转成json的我们知道,当请求到达DispatchServlet时,该servlet会查找到对应的HandlerMapper,然后查找与之适配的HandlerAdapter。使用HandlerAdapter....

安卓手机usb共享网络导致window10底部卡住

​ 家里网络不好,手机开热点不稳定,所以使用手机的usb共享网络供电脑上网,但在window10下会导致底部状态栏卡死的现象,使用下面的方法能够解决问题。

记一次跨域问题

springboot项目,后台已经配置好允许跨域,但前台仍是报跨域问题无法通过,追踪源码+debug发现原因,这里记录一下。案发场景: springboot项目。 已重写WebMvcConfigurationSupport的addCorsMappings(CorsRegistry registry) 方法,并添加了允许跨域的逻辑。 跨域的原因是在http协议下发送https请求,引起的跨域。找到原因:查看日志,发现springboot的 DefaultCors...

记一次Jackson引发的血案

记一次Jackson引发的血案一昨天修改项目,想用Jackson逐渐替换项目中使用的Fastjson,项目较旧,已经配置了FastJsonHttpMessageConverter用于springmvc的返回值序列化,这是前提。二既然是用了Jackson解析json,有几个接口返回值里里有JsonNode类型,这是jackson的类,FastJson无法序列化,所以配置文件里添加了MappingJackson2HttpMessageConverter替代FastJsonHtt...

jekyll制作sitemap

jekyll制作sitemapjekyll提供制作sitemap的插件,如果不通过插件制作的话可以写一个sitemap.xml模板,模板内遍历文章列表,生成sitemap。以下是我的模板,根据参考文章中改的。将下面代码复制到项目根目录,命名为sitemap.xml,这样生成的sitemap就会在站点根目录下即可。需要_config.yml文件内有一个sitemapUrl变量来作为sitemap的url,拼接在文章相对地址前面。上面一部分循环所有文章,下面一部分循环所有除...

Feign多种类型的POST

Feign NB

Feign多种类型的POST Feign多种类型的POST 三种携带请求体的方式 POST的三种常见ContentType 1.发送application/json格式的请求体 使用@Body发送 使用不加注解的参数 使用没有使用的@Param 参数 结果报文 2.发送x-www-form-urlen...