Spring
文章平均质量分 68
Moshow郑锴
Powered by Core iMoshow
展开
-
Java用文件流mask文本文件某些特定字段
在Java中,如果你想要掩码(mask)文本文件中的某些特定字段,你可以按照以下步骤进行:读取文本文件内容。找到并识别需要掩码的字段。用特定的掩码字符(如星号*)替换这些字段。将修改后的内容写回文件或输出到控制台。原创 2024-06-21 22:41:50 · 594 阅读 · 0 评论 -
Java中将文件转换为Base64编码的字节码
在Java中,将文件转换为Base64编码的字节码通常涉及以下步骤:读取文件内容到字节数组。使用java.util.Base64类对字节数组进行编码。原创 2024-06-21 22:34:37 · 727 阅读 · 0 评论 -
java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to java.util.List
前言最近在使用renren-fast框架改造一个爬虫3.0项目,发现了一个官方的bug java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to java.util.List ,肉眼可见是由于Long[]不能转换为List<Object>导致的。详细报错2021-06-20 22:14:48.436 ERROR 15920 --- [io-8080-exec-18] i.r.common.exception.RREx原创 2021-06-20 22:29:07 · 3258 阅读 · 1 评论 -
spring:Failed to convert property value of type ‘java.lang.String‘ to required type ‘java.util.Date‘
springboot有接口日期转换的经典问题,给Entity加`@JsonFormat`解决了输出`json日期格式的输入输出`问题,但是解决不了非@RequestBody/也就是`普通表单`提交的日期格式问题,这个时候就需要加`@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)`原创 2021-01-03 23:50:09 · 4364 阅读 · 0 评论 -
SpingBoot/JAVA实现给图片加水印功能(通过thumbnailator库)
前言最近某项目有个加水印的需求,JAVA实现给已上传的图片增加水印并输出的功能,图片A+水印B=合成带水印缓存图片C(就是不需要保存到硬盘,不占用空间),目前网上的解决方案挺多但是挺乱,于是趁机整理了一份简洁版供大家使用。这里借助了一个很强大的Thumbnails库 。图片A水印B效果图CMAVEN<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --><!-- https://githu原创 2020-12-29 01:08:12 · 2685 阅读 · 6 评论 -
springboot2集成ehcache缓存(纯Java的进程内缓存框架)
springboot2+ehcache集成攻略与教程,,,先来看看ehcache缓存与redis缓存的区别----- ehcache直接在`jvm虚拟机`/`java进程`中缓存,可以理解为缓存在内存中,速度快,效率高;但是缓存`共享麻烦`,集群分布式应用不方便。可以直接`单独使用`,集成于项目内或者第三方库,多用于`内部缓存` ,或者一般没有微服务的单实例小项目。 - redis是通过`socket`访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案。。。原创 2020-10-24 08:48:29 · 3151 阅读 · 1 评论 -
SpringBoot集成EasyPOI实现excel导入导出功能
SpringBoot可以快速使用EasyPOI进行便捷的导入导出,这里是一份简单的教程,包含导入和导出部分。一段controller代码+一个@Excel实体类注解,轻松实现excel导入导入。原创 2020-10-12 17:36:51 · 11930 阅读 · 4 评论 -
ehcache:Null key returned for cache operation问题解决方法
前言今天一个上线许久的系统突然无法新增证书,但是不是所有都不允许新增,只是编号重复的无法新增。从逻辑上想,我是设置了编号重复判断,但是该业务判断逻辑未生效,从缓存上将,会不会是id=null导致的问题。报错详情:java.lang.IllegalArgumentException: Null key returned for cache operation (maybe you are using named params on classes without debug info?) Builder原创 2020-09-26 00:16:09 · 4891 阅读 · 0 评论 -
Java获取小程序带参二维码并保存到本地
Java/SpringBoot下载并保存带参数的小程序二维码,用户直接扫描带参二维码就进入小程序,自动根据参数完成部分业务。这个时候就需要用到微信小程序提供的二维码接口 `wxacode.getUnlimited` 。网上介绍的很多方法有些过时了,有些不科学,调用起来不方便,所以自己也总结了一份出来。虽然很久之前直接用`jfinal+jfinal-wx`写的,几句代码就搞定了,但是最近需要迁移项目到`SpringBoot2`,所以就踩了个坑顺便总结一下,确实找了大半天。原创 2020-07-25 23:06:50 · 2284 阅读 · 3 评论 -
Only no-arg methods may be annotated with @Scheduled报错
问题背景今天在弄一个手工爬虫框架的时候,由于有个功能如下:在列表界面点击抓取,进行手工抓取后台根据application.yml设置的定时任务自动触发抓取任务 /** * 广东省政府采购中心 */ @PostMapping("/fetchCGZX") @Scheduled(cron="${scheduler.fetch}") public ReturnT fetchCGZX(boolean manual){ if(!manual原创 2020-07-04 11:00:46 · 5523 阅读 · 0 评论 -
freemarker数字显示问题(超过1000会加逗号分隔)
前言freemarker在数字回显时,如果数字超过999,会自动用 , 分割开,例如 2020 变成了 2,020,然而,此时传递到后台的时候,并不会按照int/long处理,而是当作String字符串处理,所有会报类型不匹配的异常。<input type="hidden" name="userId" value="${(user.userId)!number}" class="layu...原创 2020-03-16 00:39:58 · 5722 阅读 · 3 评论 -
JAVA 利用ASCII码偏移(来自IDEA免费激活码游戏)
前言最近idea风风光光激活码失效,于是官方推出了一系列游戏,DD大哥也给我们解析了很多20/03/13 JetBrains 第二轮:再为免费全家桶续命三个月20/03/12 免费获取 Jetbrain 全家桶使用兑换码的正确姿势!兑换地址https://www.jetbrains.com/promo/quest/解决方案其中第一个任务,你需要到MPS-31816去获取一个线索。...原创 2020-03-15 13:22:34 · 1263 阅读 · 0 评论 -
动态获取tomcat启动端口,控制台打印项目访问地址
前言正常我们输出项目的访问地址,都是通过在@SpringBootApplication的启动类中增加一个log.info来输出项目地址.感谢网友@Gao Hang Hang 则为我们带来一个动态获取tomcat端口的改造.非常有意思,所以share一下.原始方法package com.softdev.system.generator;import lombok.extern.slf4j....原创 2019-12-30 10:26:29 · 1594 阅读 · 0 评论 -
Spring Boot2+JPA之悲观锁和乐观锁实战
什么时候用悲观锁或者乐观锁: 1. `悲观锁`适合`写多读少`的场景。因为在使用的时候该线程会独占这个资源,就适合用悲观锁,否则用户只是浏览文章的话,用悲观锁就会经常加锁,增加了加锁解锁的资源消耗。2.`乐观锁`适合`写少读多`的场景。由于乐观锁在发生冲突的时候会回滚或者重试,如果写的请求量很大的话,就经常发生冲突,结合事务会有经常的回滚和重试,这样对系统资源消耗也是非常大。原创 2019-11-15 16:13:15 · 4075 阅读 · 3 评论 -
js复制文本到粘贴板(Clipboard.writeText())
前言js如何复制文本到粘贴板呢,网上所说的各种复制。。在Chrome都没用。网上的代码基本思路是通过 window.clipboardData.setData('Text',textVal)这个 对象来操作的。可是都不work。/*** 复制代码 */$('#btnCopy').bind('click', function (e) { if (!$.isEmptyObject...原创 2019-11-14 22:43:19 · 5652 阅读 · 0 评论 -
探索StringUtils3之StringUtils.isEmpty()和StringUtils.isBlank()的区别
StringUtils中有很多方法,常用的也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有`isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank`的存在, come on ,让我们一起来探索`org.apache.commons.lang3.StringUtils;`这个工具类.#isEmpty系列#isBank系列#其他方法原创 2019-11-05 15:02:02 · 4336 阅读 · 1 评论 -
spring-boot-2.0的pom.xml
这是一份可以运行的spring-boot整合pom,,,前段时间研究和学习用的,,暂时懒得整理,,其他的暂时没整理,放上来先。已添加阿里云maven镜像地址,如果不需要mybatis-plus可以屏蔽掉先。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4...原创 2018-04-16 10:25:40 · 4962 阅读 · 0 评论 -
eclipse安装JPA插件并添加JPA支持
JPA与ORM什么关系ORM是JPA规范中的一个体现思想,JPA规范包含了ORM,Sun公司为了简化现有Java EE和Java SE应用的对象持久化的开发工作,整合ORM技术,结束现在Hibernate、iBATIS、TopLink等ORM框架各自为营的局面,提出了新的JPA ORM规范。什么是JPAJPA是Java Persistence API的简称,中文名Java持久层A...原创 2018-04-18 16:50:49 · 9343 阅读 · 0 评论 -
SpringData-JPA操作指南
JPA指南分为3个部分:jpa注解详解jpa继承的Repository类详解jpa查询指南(单体查询+多表查询)JPA注解@Table 标注类对应的表 若表名和类型相同时,省略@Table,比如类Users 和表 users; 若不相同时,必须有@Table,并设置name,为该类对应的表名。@Table(name=”users”) 对应的表@Entity 标注实...原创 2018-04-22 23:09:03 · 1056 阅读 · 0 评论 -
springboot2.0整合shiro攻略
Shiro是什么 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。简单的讲,Shiro是一个Java平台的开源权限框架,用于认证和访问授权。Shiro三个核心组件Subject, SecurityManager 和 R...原创 2018-04-30 20:27:28 · 15431 阅读 · 2 评论 -
Spring-Shrio权限控制Realm实战
用户与角色实体Role.java@Data@Entitypublic class Role { @Id @GeneratedValue private Integer id; private Long userId; private String role;}User.java@Data@Entitypublic cla...原创 2018-05-01 00:09:15 · 3052 阅读 · 0 评论 -
JPA多表关联查询
JPA多表映射一般来说有两种方法,旧传统,Hibernate的时候是采用的对象关联的方式,但是那种太out了也太杂乱,还要考虑懒加载这东西。另外一种是跟mybatis多表关联一样,搞多一个新对象来做映射,达到多表关联的目的。以下是JPA的一个实操例子,仅供参考public interface QueueRepository extends JpaRepository<Queu...原创 2018-04-23 23:15:24 · 3496 阅读 · 0 评论 -
springboot2使用fastjson中文返回问号问题处理
首先配置FastjsonConverter,核心是设置utf-8的编码。 其次,返回String是会乱码的,这个bug一直都在,但是返回其他object是不会乱码的。所以可以根据接口的请求情况,封装一个返回类,例如我们用ApiReturnObject/** * 添加fastjson的转换 */@Configurationpublic class FastjsonConverter...原创 2018-04-24 00:54:07 · 2645 阅读 · 0 评论 -
html页面调用BasePath项目路径
BasePath项目路径,是特别游泳的类,放到request里面,在html页面就可以直接用 //放入basePath,供html页面调用 request.setAttribute(“basePath”, BasePath.getBasePath(request)); //html页面用freemarker去调用 ${basePath}xxxx/xxx去调用,例如我请求http://1...原创 2018-04-20 14:09:19 · 7109 阅读 · 11 评论 -
SpringBoot2之PUT请求接收不了参数的解决办法
SpringBoot2之PUT请求接收不了参数的解决办法,这个问题,关乎两个Filter过滤器,是spring3和3.5之后提供的,目的就是解决RESTful中PUT请求或者其他请求的问题。下面请看详细内容HiddenHttpMethodFilter html中form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3添加了一个过滤器,可以将这些...原创 2018-05-02 23:29:18 · 8119 阅读 · 4 评论 -
RESTful架构理解
什么是REST? REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,...原创 2018-05-02 23:47:50 · 387 阅读 · 0 评论 -
基于hutool和POI的excel导入工具类
excel导入也可以很简单,利用POI进行导入,以及强大的hutool工具类,再加上对业务的理解,就可以封装成一个超级好用的业务类了。maven依赖 <!-- Hutool超级工具类 http://hutool.mydoc.io/ --> <dependency> <groupId>cn.hu...原创 2018-05-03 16:45:18 · 30961 阅读 · 1 评论 -
SpringBoot2.0集成Swagger2,生成RESTful API在线文档接口
什么是swaggerswagger是一个流行的API开发框架,这个框架以“开放式API声明”(OpenAPI Specification,OAS)为基础,对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。OAS本身是一个API规范,它用于描述一整套API接口,包括一个接口是GET还是POST请求啊,有哪些参数哪些header啊,都...原创 2018-05-10 11:49:19 · 20570 阅读 · 7 评论 -
JPA事务问题Executing an update/delete query
如果JPA提示Executing an update/delete query,那是一定是因为Service层没有加@Transactional和再方法加@Modifying吧。异常场景spring-boot2+jpa执行新增修改删除操作时:public interface UserRepository extends JpaRepository<User , Integer...原创 2018-04-26 10:37:21 · 58038 阅读 · 15 评论 -
JPA的事务注解@Transactional总结
@Transactional事务使用总结:异常在A方法内抛出,则A方法就得加注解多个方法嵌套调用,如果都有 @Transactional 注解,则产生事务传递,需要 Propagation.REQUIRED如果注解上只写 @Transactional 默认只对 RuntimeException 回滚,而非 Exception 进行回滚如果要对 checked Exceptions 进...原创 2018-04-26 13:55:15 · 13626 阅读 · 1 评论 -
SpringBoot2.0集成WebSocket,实现后台向前端推送信息
什么是WebSocket?- 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? - 答案很简单,因为 HTTP 协议有一个缺陷:***通信只能由客户端发起***,HTTP 协议做不到服务器主动向客户端推送信息。https://github.com/moshowgame/spring-cloud-study/tree/master/spring-cloud-study-websocket原创 2018-05-10 22:54:29 · 448877 阅读 · 503 评论 -
SpringBoot2.0读取yml配置文件的值(application.yml)
由于项目需要,我们有时候会把一些动态的参数配置放置在yml文件里,然后对其进行访问。这个时候,就需要在SpringBoot2.0下读取YML文件的属性值maven依赖&lt;!-- 支持 @ConfigurationProperties 注解 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.spr...原创 2018-05-17 16:56:54 · 9871 阅读 · 0 评论 -
@PathVariable注解,让spring支持参数带值功能
@PathVariable的作用获取URL动态变量,例如 @RequestMapping("/users/{userid}") @ResponseBody public String getUser(@PathVariable String userid){ return "userid=" + userid; }@PathVaria...原创 2018-05-04 16:59:18 · 6883 阅读 · 1 评论 -
SpingDataJPA之ExampleMatcher实例查询
ExampleMatcher是SpingData-JPA中好玩的一个东西ExampleMatcher实例查询三要素实体对象:在ORM框架中与Table对应的域对象,一个对象代表数据库表中的一条记录,如上例中User对象,对应user表。在构建查询条件时,一个实体对象代表的是查询条件中的“数值”部分。如:要查询姓“X”的客户,实体对象只需要存储条件值“X”。匹配器:ExampleMa...原创 2018-05-11 15:57:49 · 56196 阅读 · 13 评论 -
SpringBoot之跨域过滤器配置允许跨域访问
如果前端提示”Access-Control-Allow-Origin”,那么需要配置跨域过滤器允许跨域访问。import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servl...原创 2018-05-18 15:17:33 · 12071 阅读 · 0 评论 -
Ajax之RESTful风格的PUT请求
之前一直用ajax的$post方法请求api接口,那么遇到项目RESTful改造,那么应该怎么破呢? 莫慌,且用以下方法即可。$.ajax({ url :"${basePath}queue/call/"+checkWindow+"/"+checkNumber+"/1", // 处理的请求路径 type : "...原创 2018-05-07 00:26:59 · 2413 阅读 · 0 评论 -
MyBatis-Generato代码生成器(独立版)
项目背景这个是2014年2015年在mybatis大规模应用的时候自己研究出来的一个mybatis代码生成器,好久没有用了,官方也没有怎么大规模更新,毕竟好用的民间工具太多,好用的是大家的思维和sql。mybatis的强大之处在于把任何复杂的sql,包括多表关联,包括多重计算,处理之后映射到任意一个实体上,以达到查询的目的。相关资料下载 - 百度网盘: https://pan.ba...原创 2018-05-19 17:31:31 · 17703 阅读 · 6 评论 -
SpringBoot2集成Druid配置
=。=补发一下这个教程,之前没时间放什么是Druid?Druid首先是Java语言中最好的数据库连接池,也是阿里巴巴的开源项目。Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource等等等,秒杀一切。而且Druid已经在阿里巴巴部署了超过600个应用,经...原创 2018-05-13 23:21:28 · 39780 阅读 · 15 评论 -
java.lang.IllegalArgumentException: The valid characters are defined in RFC 7230 and RFC 3986
错误提示java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986错误分析当在浏览器中访问时 URL中带有特殊字符,如花括号冒号时,就会出现这个错误。1、去除...原创 2018-05-07 14:55:59 · 1652 阅读 · 0 评论 -
SpringDataJPA之Specification复杂查询
前言继上次SpringData-JPA之ExampleMatcher实例查询使用一会之后发现ExampleMatcher对日期的查询特别糟糕,所以才有了Specification查询的研究。实现对应的Repository需要实现JpaSpecificationExecutor接口public interface EventRepository extends JpaReposito...原创 2018-05-14 14:54:21 · 54993 阅读 · 7 评论