自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Magic Studio Eraser API使用教程

http://127.0.0.1:8000/saveBinary 是我本地启动的java服务(下面有提供代码),将页面请求转发到本地,从而捕获mask_file流文件内容,并保存到本地。关于这个mask_file,官网并没有给出详细介绍,但是通过对网页版AI橡皮擦进行抓包可以发现,mask_file是一个二进制流文件。但是网页版只支持低分辨率下载,想要原图就得开会员,价格不菲。只能说这个magic studio真的太坑爹了,用心做AI,用脚做API,要不是冲着100次的免费额度,真不想折腾这么大劲。

2024-05-06 17:19:44 466

原创 PageHelper开源框架解读

在使用springboot开发系统时,列表查询经常会用PageHelper来进行分页。使用起来很方便,但从未想过它的实现原理,所以对其进行解读。基于PageHelper(v5.3.2)官方文档,这是一个最简单、最常用的分页demo,持久层框架使用的是Mybatis-plus.

2024-03-02 09:00:00 949

原创 Objects.equals 对基本数据类型比较,代码不会警告

所以在我们日常编码中如果用到了Objects.equals(),尤其是以 对象实例的get方法作为比较参数时,一定要多留意数据类型是否正确。否则会有always return false的风险。为了防止NPE,有时候我们会用 Objects.equals(Object a, Object b) 来判断两个值是否相等,JDK会对a和b的。并且在实际运行中会始终返回false。进行检查,若发现数据。但是类型检查有时候会。

2024-02-23 23:37:22 268 1

原创 一种基于javax.max注解的能力增强技术

Max是包中的一个常用注解,用于对传入参数进行最大值校验。但是其校验区间为闭区间,且不支持修改,如:@Max(2),表示表示传入参数值应小于等于2。在特定业务场景下,我希望传入值应小于2,该注解无法满足需求,因此对其进行。

2024-02-23 23:36:37 317 1

原创 IDEA运行Gradle jdk11工程错误:找不到或无法加载主类

2、菜单—》File—》Invalidate Caches/Restart 选择Invalidate and Restart 或者 只是Invalidate,清除掉缓存,然后 >Rebuild Project。在首次运行时,提示命令行太长,我点击了下面的“Shorten the command line and rerun”,它会使用@argfile(Java 9+)方式实现。3、Project Settings -> Moudles -> 点击减号将所有的Moudle删除,然后重新引入。

2024-01-12 09:29:02 677 1

原创 在feign声明的接口,未被任何controller引用,却能够直接请求接口地址调用成功

这是一个值得深入探索的问题,可以对DispatcherServlet.onRefresh方法进行链路追踪,找到对应的逻辑,并设计一些改进思路。比如,仅当同时存在@RestController或@Controller注解时,才将该类的映射url纳入管理。原因:在声明一个feign类时,在class名处使用了@RequestMapping注解,导致spring认为这是一个controller,将其url进行统一管理。解决方法:不要在头部使用@RequestMapping注解,仅在声明方法处使用。

2023-11-14 15:43:09 151

原创 Valid注解在嵌套对象中校验失效

pear对象的price属性未传但是却并未被拦截,顺利进入了接口,@NotNull注解失效了。添加以后可以成功对pear下的price属性进行判断。在声明Pear成员属性时添加@Valid注解即可。controller接收。

2023-04-17 15:53:14 893

原创 代码安全方案

目前大环境下,研发人员流动性很强,这就要求企业建立一套机制,对企业自己的知识库和项目源代码,技术文档等进行安全控制,不但要对在职人员的主动泄密行为进行管控,更要杜绝离职人员拿走公司的核心资料,避免因泄密给企业造成损失。运行A服务,必须依赖common服务(依赖其接口,或依赖读取其配置),这个common服务在服务器上独立运行,不开放源码,并注册到线上eureka或nacos。在员工入职的时候,签署保密协议,尤其是开发人员这样的涉密人员,通过这种方式,可以一定程度上的防止员工主动泄密。

2023-04-02 15:34:18 903

原创 @Accessors(chain = true)导致BeanUtils.copyProperties失效问题的排查思路

org.springframework.beans.BeanUtils.copyProperties 和 org.apache.commons.beanutils.BeanUtils.copyProperties 这2个方法其本质上都是调用了由jdk提供的Introspector.getBeanInfo方法来获取对象的默认get、set方法。但是spring对set方法返回非void的情况进行了适配,使得set方法能够正常调用。

2023-03-18 15:53:33 4294

原创 《自来水哲学-松下幸之助自传》读后感

因为对电灯公司的轻松工作没有热情,心理不满足,再加上年轻人的一腔热血,松下毅然选择了辞职,开始创业。一是在火盆店工作期间,在帮老板带孩子的时候,不小心让孩子受伤了,为了止住孩子的哭声,松下狠了狠心买了一个在他看来非常昂贵的豆包,并在事后老老实实的告诉了老板。不仅能得到客人的夸奖,也因为更低廉的批发价,而得到收益。先进的思想可以通过考察学习,但先进的技术唯有努力钻研,并牢牢攥在自己手中才能拥有足够高的话语权——学习时没有自主意识而依赖他人的力量和金钱是弱者的表现,没有自己的思考和劳动得到的也不是真正的成果。

2023-03-13 19:45:04 259

原创 框架BigDecimal序列化策略修复(Fastjson源码解析)

我们公司的框架对接口返回的java对象转换为字符串的序列化策略上进行了定制。如:当String类型属性值为null时,会转换为空字符串返回、当List类型为nul时返回长度为0的空数组、当Boolean类型为null时返回false、对Bigdecimal类型的属性值,默认保留2位小数点。关于最后一点,当业务需要指定其他精度时,可以在成员属性上添加@JSONField注解来指定保留小数位数。/*** 保留小数点后6位*/@ApiModelProperty("经度")

2023-02-19 18:09:46 1629

原创 MYSQL 存储过程详解

用了多年的mysql,基本上都是在写增删改查的SQL语句,对存储过程只是有所耳闻,一直没有认真的去了解、使用过。所以编写这篇文档,记录对存储过程的学习笔记 和 mysql函数编程的一些基础知识。

2023-02-12 22:04:39 711

原创 一些SQL踩坑案例

mysql语句在使用中一些不易发现的错误

2023-02-05 13:51:21 84

原创 一种基于EasyPoi动态标题导出的技术

改进easypoi框架的@Excel注解以实现导出表头内容的动态化

2023-02-05 13:18:45 997 2

原创 IDEA Services窗口启动应用后不显示端口号

方法1:清除Temp目录下文件C:\Users\用户名\AppData\Local\Temp清除该目录下所有文件,清除前关闭IDEA方法2:检查JDK的位数我是64位电脑,用x86的JDK就不会显示端口号。改用x64的JDK重新编译启动即可

2021-08-17 14:30:26 502

原创 JAVA打印EXCEL的巨坑(用jacob)

网上有很多使用jacob来实现java打印excel的例子<dependency> <groupId>net.sf.jacob-project</groupId> <artifactId>jacob</artifactId> <version>1.14.3</version></dependency>按照网上的说法,下载了jacob-1.14.3-x64.dll (跟你pom引入依赖的版本号要一致!

2021-03-01 23:32:59 974 4

原创 后台@RequestBody接收对象List属性为null

后台@RequestBody接收对象List属性为null前端把一个本应传String类型的属性,传成了List数组,会导致后面的所有List属性都会变成null

2021-01-25 11:30:04 1931 1

原创 centos系统buff/cache过高

先说解决方法,命令行执行:sysctl -w vm.drop_caches=3这条命令的作用是清理pagecache、dentries和inodes把数字3改成1,就是清理pagecache数字改成2,就是清理 目录项缓存和inode缓存3相当于1+2的效果linux中buff和cache的作用:buffer写入磁盘时,先保存到磁盘缓冲区(buffer),然后再写入到磁盘。cache即读磁盘时,数据从磁盘读出后,暂留在缓冲区(cache),为后续程序的使用做准备。目的就是为了提升磁

2020-11-11 11:59:42 631

原创 java8 stream findfirst().get()空指针

java8 stream findfirst().get()空指针 List<Integer> a = Arrays.asList(1, 2, 3); Integer b = a.stream().filter(x -> x.equals(4)).findFirst().get(); System.out.println(b);Exception in thread “main” java.util.NoSuchElementException:

2020-05-13 10:21:31 14326 2

原创 前端传JSON嵌套类,且属性名首字母大写时后端接收的一些坑

因为开发腾讯云业务,要写一个回调函数,规范文档上说会传一个json传给后端{ "EventType": "ComposeMediaComplete", "ComposeMediaCompleteEvent": { "TaskId": "1256768367-ComposeMedia-f5ac8127b3b6b85cdc13f237c6005d8", ...

2020-04-09 17:42:58 1320

原创 springboot项目中 @PostConstruct无效

springboot项目中 @PostConstruct无效@PostConstruct 所在的类上面加一个@Component注解就可以了

2020-03-17 14:17:50 5809 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除