
后端框架使用
后端框架使用中遇到的问题记录
Hubert-hui
软件界里,总会有那么一些桀骜不驯的人,用一个电脑,在某一个不经意的晚上,写了一段代码,惊艳了 这个世界。
人生啊,就是一场修行!
展开
-
Java8 Stream分组并排序
@Data@AllArgsConstructor@NoArgsConstructorpublic class Customer { private String name; private TypeEnum type; private int age;}@Getterpublic enum TypeEnum { /** * 第一 */ First("甲类", 2), Second("乙类", 12), Three(原创 2022-05-12 09:40:26 · 9429 阅读 · 0 评论 -
lombok使用注意,不要写重载属性get\set方法
背景最近在写UT测试的过程中,有些接口的响应内容比较多。不想也不应该手动去敲代码拼接响应内容。于是对响应内容做反序列化,转成直接使用的对象。到这一步还没有问题,关键是下一步,我要将响应内容在项目中业务中转对象的序列化内容转成 业务中转对象。业务中转对象使用了 lombok @Data 注解。问题反序列化的时候出现问题,报错如下:Cannot deserialize instance of java.util.ArrayList<java.lang.Object> out of VALUE_STRIN原创 2022-05-10 21:23:21 · 1192 阅读 · 0 评论 -
Jackson Calendar日期类反序列化问题
背景:开发过程中,需要写测试用例。测试用例需要用到 某些接口的响应内容。本次呢,是有个接口的响应体里定义了很多 Calendar 类型的字段。Jackson 序列化的时候,Calendar 类型默认输出样式为 “yyyy-MM-dd HH:mm:ss.SSS”。反序列化的时候就会报错。报错内容类似如下:com.ctrip.soa.caravan.common.serializer.SerializationException: com.fasterxml.jackson.databind.exc.In原创 2022-05-10 21:09:43 · 638 阅读 · 0 评论 -
SOA架构-微服务架构
SOA全称(Service Oriented Architecture)—— 面向服务的架构。面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过在这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。跟 SOA 相提并论的还有一个 ESB(企业服务总线),简单来说 ESB 就是一根管道,用来连接各个服务节点。为了集成不同系原创 2022-05-05 21:21:12 · 2159 阅读 · 2 评论 -
Springboot controller 响应内容格式调整
背景最近在做 流量回放对比的过程中,soa 使用的 protobuf 协议响应内容去除了 值为空的属性节点(减小报文大小),controller 接口的响应内容中还是会有值为空的属性节点,导致流量回放对比的脚本需要判断哪些属性节点值为空没有问题,确定是否可以排除。增加了一些 额外的工作量,所以想了想,将 controller 接口的响应内容做一下调整,去除 值为空的属性节点。代码如下@Configurationpublic class XxxConfig { @Bean @Pri原创 2022-03-29 09:04:24 · 445 阅读 · 0 评论 -
java 实现Word或Excel 转Pdf
1:首先需要引入相关的jarword转pdf需要引入 aspose-words-15.8.0-jdk16.jar下载JAR包 Wordhttp://note.youdao.com/noteshare?id=1e73ab1c91abad338271d50a881165c2excel转pdf需要引入aspose-cells-8.5.2.jar Excelhttp://note.youdao.com/noteshare?id=f75d87445106ea6ca6b54cfa58bc4fb2...转载 2020-12-28 10:40:14 · 878 阅读 · 0 评论 -
引入外部jar,项目启动 Class not found
背景:背景简单又弱小,需要接入外部的jar去做一些事情。比如: 钉钉消息发送、外部银行对接等。你会拿到对方提供的 sdk,但是呢你自己又没有 公司maven 私服的上传jar 权限,同时呢,又不好意思或者找不到人来帮你上传 jar 到maven私服。这个时候就想出一个歪点子:将 jar 文件放置到项目中。一般情况下呢,大家可能都是在 项目根目录下创建一个 lib 的文件夹,然后加 jar 放入进去。项目使用框架呢,简单粗暴的 springboot 项目。操作步骤项目根目录下创建目录,放置 ja原创 2020-12-22 21:15:10 · 1043 阅读 · 1 评论 -
Java pdf 生成遇到的字体问题
1. 背景pdf 编辑器使用的是 Adobe Acrobat Pro DC。出现的问题大概如下:字体找不到导致报错的 字体选择不对,导致部分中文不显示 文本属性选择问题导致文本内容很小问题大致记录一下,下面写一下调整细节。2.调整1. 编辑文本域属性,在“外观”栏位,调整字体大小和字体。如下图:2. 编辑文本域属性,在“选项”栏位,调整。去除多行勾选了 “多行”选项时的效果:去除“多行”选项后的效果:...原创 2020-12-16 16:44:04 · 1818 阅读 · 0 评论 -
Spring boot 项目使用 redisson 延迟队列
背景:有些场景下,需要延迟触发一些任务。比如:延迟几秒钟发送短信或者邮件;某些业务系统回调,需要延时几秒钟后回调。当然,实现延时触发的方式有很多。博主这里采用 redisson 的RDelayedQueue,一是因为接入简单,二是没有分布式的问题。毕竟现在微服务大行其道接下来,进入正题。使用步骤:使用 延迟队列呢,一般就几个步骤:添加消息进入延迟队列 从延迟队列中取出消息消费下面贴一下代码:1.首先定义一个消息的承载实体:import lombok.Data;/*.原创 2020-11-17 10:31:05 · 1128 阅读 · 0 评论 -
定时任务失败重试时间延长记录
背景最近有一个业务,大致如下:#mermaid-svg-Wx44EnDaI93czIji .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Wx44EnDaI93czIji .label text{fill:#333}#mermaid-svg-Wx44EnDaI93czIji .node rect,#merma原创 2020-09-10 09:48:45 · 1056 阅读 · 0 评论 -
分享30道Redis面试题
1、什么是Redis?简述它的优缺点?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅...转载 2019-08-13 07:37:15 · 260 阅读 · 0 评论 -
JAVA实现汉字转换为拼音 pinyin4j/JPinyin
背景:最近项目需要对接外部系统,需要使用到把中文名称转化为拼音。在此先简单记录一下使用到的两个 jar。pinyin4j 、 jpingyin参考文章https://www.jianshu.com/p/13bbb00e536c...原创 2019-08-08 17:21:05 · 772 阅读 · 0 评论 -
MongoDB 初步使用记录
基本命令登录 :mongo ip本机安装了服务可以使用命令: mongo登录远程机器服务: mongo 192.168.0.xx数据库查看所有数据库:show dbs使用某一个数据库:use dbName 如: use local查看 集合查看库中所有集合:show collections查询集合中数据:db.collectionName.find() 如...原创 2019-07-17 14:53:25 · 311 阅读 · 0 评论 -
MongoDB 查询文档随笔
推荐使用客户端:nosqlbooster由于之前只是使用 MongoDB 进行存储日志,没有做过分析,只做过通过 api 进行查询操作。现在有场景需要使用连接工具直接查询分析。所以在此记录一下使用到的查询方法。MongoDB 查询文档使用 find() 方法。find() 方法以非结构化的方式来显示所有文档。语法MongoDB 查询数据的语法格式如下:db...原创 2019-06-27 10:03:54 · 429 阅读 · 0 评论 -
maven 打包时动态替换properties,xml资源文件中的配置值
背景:最近在开发过程中,发现 logback.xml 中的变量 maven 编译的时候不能被替换。环境:maven version: 3.3.9springboot version:2.1.9.RELEASElogback.xml 内容如下:<?xml version="1.0" encoding="UTF-8"?><configuratio...原创 2019-10-30 19:43:57 · 4371 阅读 · 0 评论 -
maven中import scope依赖方式解决单继承问题的理解
maven中import scope依赖方式解决单继承问题的理解在maven多模块项目中,为了保持模块间依赖的统一,常规做法是在parent model中,使用dependencyManagement预定义所有模块需要用到的dependency(依赖)<dependencyManagement> <dependencies> ...转载 2019-10-10 11:37:15 · 322 阅读 · 0 评论 -
XMLHttpRequest 跨域时产生了 OPTIONS 请求
一:前言对于跨域请求,一直没有采用jsonp方式,原因如下1.jsonp只支持get请求而不支持post请求,如果想传给后台一个json格式的数据,浏览器会返回一个415的状态码,告诉我们请求格式不正确,这让传输大规模数据变得繁琐。2.无法准确定位和调试请求异常情况3.存在安全性问题(可能是我的技术盲点,因为看到很多大公司都用jsonp技术)考虑到以上问题,并且跨域资源共...转载 2019-11-25 18:13:52 · 1536 阅读 · 0 评论 -
SpringBoot打包部署报错:No main manifest attribute, in XXX.jar
在pom 中的,plugin 中 指定 mainClass属性,暂时先这么处理。如果你是多 moudle 项目一定要注意,不能再 顶层 parent pom 中添加mainClass 。在你需要启动的 moudle 中添加。<build> <plugins> <plugin> ...原创 2019-10-16 19:07:24 · 1470 阅读 · 0 评论 -
ThreadPoolExecutor里面4种拒绝策略(详细)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/pozmckaoddb/article/details/51478017ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,Aliv...转载 2019-10-11 16:55:50 · 793 阅读 · 0 评论 -
feignclient https 接口调用报证书错误
feign.RetryableException: Received fatal alert: handshake_failure executing POST https://xxxxat feign.FeignException.errorExecuting(FeignException.java:67)at feign.SynchronousMethodHandler.executeAn...原创 2019-08-28 23:23:46 · 6002 阅读 · 0 评论 -
Feign配置请求头以及支持Https协议
背景:最近跟第三方对接,请求头需要特殊处理,同时是 Https 协议。第三方提供的是使用 OkHttp 调用。同事呢,使用 OkHttp 封装了调用和返回值。今天对项目代码进行审查的时候,想着还是把这个替换调吧,实现起来更加的优雅。一、Feign配置请求头FeignParamsInterceptor 这个类实现了 RequestInterceptor,可以实现对请求进行拦截处...原创 2019-08-18 23:01:39 · 8385 阅读 · 0 评论 -
org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped
异常情况:最近在把一个项目拆分多个 module 的时候数据库查询遇到这个异常:org.hibernate.hql.internal.ast.QuerySyntaxException: Identification is not mappedJPA 查询方法如下:public Identification findIdentificationByWxId(String wxId) {...原创 2019-07-02 14:15:03 · 1666 阅读 · 0 评论 -
Spring 使用 feign时设置header信息
目录问题描述:解决方案: 1. 使用Headers注解。直接在请求上或者在类上添加2. 通过实现RequestInterceptor接口,完成对所有的Feign请求,设置Header问题描述:最近使用 SpringBoot 项目,把一些 http 请求转为 使用 feign方式。但是遇到一个问题:个别请求是要设置header的。于是,查看官方文档和博客,大致推荐两种方式...原创 2019-06-27 13:47:16 · 7437 阅读 · 4 评论 -
centos7安装Nginx、使用nginx记录
centos7安装Nginx、使用nginx记录【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>1、安装各种依赖#gcc安装,nginx源码编译需要yum install gcc-c++#PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式yum install -y pcre pcr...转载 2019-12-27 16:07:41 · 618 阅读 · 0 评论 -
Nginx配置跨域请求 Access-Control-Allow-Origin *
当出现403跨域错误的时候No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数:一、 解决方案只需要在Nginx的配置文件中配置以下参数:location / { add_header Access-Control-All...转载 2019-11-12 15:09:12 · 1051 阅读 · 0 评论 -
ERROR org.springframework.boot.SpringApplication - Application run failed
背景:升级了 spring boot 版本,从1.x 升级到了2.x报错如下:ERROR org.springframework.boot.SpringApplication - Application run failedjava.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V at org.spr原创 2020-06-23 12:45:00 · 17339 阅读 · 0 评论 -
使用lombok 插件后,mapstruct 不生效
背景:springboot 项目使用 lombok 插件后,添加mapstruct 插件,maven 编译时mapstruct 插件不起作用。目前先匆匆记录一下一种解决方案一种解决方案:pom 文件中加入以下依赖。笔者使用的mapstruct 版本为 1.3.0.Final <!-- 解决lombok插件和 mapstruct 冲突导致 mapstruc...原创 2020-04-14 17:14:13 · 6349 阅读 · 0 评论 -
Feign调用出现异常:org.springframework.util.Assert.noNullElements(Ljava/util/Collection;Ljava/lang/String;)
环境:springboot 版本: 2.1.6.RELEASE springcloud 版本: Greenwich.SR2异常信息如下:17:30:01.128 [/] appName_IS_UNDEFINED [http-nio-8089-exec-9] DEBUG c.k.u.o.a.s.f.xxxService - [xxxService#getXxx] ---> GE...原创 2020-01-14 18:29:29 · 2447 阅读 · 2 评论 -
RabbitMQ windows安装使用
最近想要连接自己本地的 MQ做一些开发和测试工作。跟着 spring 的官方文档学习了一下,在此记录一下。https://spring.io/guides/gs/messaging-rabbitmq/1.Installing on Windowshttps://www.rabbitmq.com/install-windows.html1.1 DependenciesRabbitM...原创 2019-12-27 19:01:24 · 813 阅读 · 0 评论 -
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded事务没有提交!
方案一、临时解决此问题查找出此问题的thread ID ,然后进行KILL掉select * from information_schema.innodb_trx;kill trx_mysql_thread_id;方案二、更改数据库超时时间1.查看当前锁超时时间show variables like 'innodb_lock_wait_timeout';2.查...转载 2019-12-23 18:12:43 · 2673 阅读 · 0 评论 -
spring boot 框架下前端传递时间映射到后端的Date类型问题
【背景】spring boot框架下和前端交互,时间方便存在如下问题:问题1、前端传递过来的时间参数通常是String类型的。后端的实体类中一般定义为Date类型。这时候需要做一个String类型到Date类型的映射。解决办法:利用spring框架中的Converter接口实现自定义Beanpackage org.springframework.core.convert.conver...转载 2019-12-17 11:01:07 · 1369 阅读 · 0 评论 -
spring boot 2.0.x 使用 hibernate、mysql 的问题
设置mysql 引擎为innodb:spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect自动创建表时,多了一张表hibernate_sequence这里要指定主键自增策略,默认是以Oracle的方式来实现自增主键。想用mysql的自增方式需要改为@GeneratedV...原创 2019-11-12 15:07:43 · 789 阅读 · 0 评论 -
Springboot 使用JPA Repository 注入失败问题
报错如下:APPLICATION FAILED TO START***************************Description:Field customerRepository in com.xx.xx.xx.customer.service.impl.CustomerServiceImpl required a bean of type 'com.xx.xx.xx....原创 2019-12-04 18:19:07 · 4231 阅读 · 0 评论 -
Spring Data Jpa最佳实践
前言Spring Data Jpa框架的目标是显著减少实现各种持久性存储的数据访问层所需的样板代码量。Spring Data Jpa存储库抽象中的中央接口是Repository。它需要领域实体类以及领域实体ID类型作为类型参数来进行管理。该接口主要用作标记接口,以捕获要使用的类型并帮助您发现扩展该接口的接口。CrudRepository、JpaRepository是更具体的数据操作抽象,一般我...转载 2019-11-29 09:57:31 · 1203 阅读 · 0 评论 -
Activiti:Error creating bean with name 'processEngine'
背景:1. activiti 版本 5.17.02. 删除了 activiti 的表,从其他地方拷贝了表过来项目启动报错如下:org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springfr...原创 2019-11-19 14:26:31 · 4790 阅读 · 0 评论 -
Webservice 使用中遇到的问题
1.wsimport不是内部或者外部命令添加或者编辑系统变量:JAVA_HOME = C:\Program Files\Java\jdk1.8.0_191CLASSPATH =%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;Path 后追加: %JAVA_HOME%\binwsimport -encoding utf...原创 2019-11-26 10:51:53 · 837 阅读 · 0 评论 -
WebService 简单使用
WebService 简单使用背景WebService 是什么三要素开发示例服务端客户端参考地址背景最近在对接泛微OA,其中使用到了 webservice 进行交互。于是趁着周末的时候学习一下。WebService 是什么W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,...原创 2019-08-25 18:48:09 · 2205 阅读 · 0 评论