- 博客(38)
- 问答 (1)
- 收藏
- 关注
原创 Springboot 后端文件下载:记一次根据地址连接下载文件并且返回给前端(避免跨域问题)
为了解决前端直接根据文件连接地址下载导致的跨域问题;后端提供一个接口,根据前端传入的文件地址链接下载文件到本地再返回文件流给前端,从而避免跨域问题(代码已上线)如果使用postman测试该接口,则会直接下载该接口;
2024-03-29 15:07:34 387 1
原创 SpringBoot 整合 Quartz 实现 对任务进行CRUD
这里有三个配置类,分别为AutowiringSpringBeanJobFactory.java(主要是为了使得Job任务类运行时,可以注入其他service层)、QuartzConfig.java(quartz配置类,可设置对应的数据源,将schedule创建bean对象等)和 QuartzJobInitializer.java (用于项目启动时,可以从数据库里取出对应的QuartzBean对象,进行任务的自启动)QuartzUtils类主要用于底层的创建、修改、删除、立即执行、暂停和恢复任务。
2023-11-17 17:29:24 278
原创 SpringBoot整合redis实现过期Key监控处理(最简单模式)
onMessage方法来自于MessageListener接口,主要就是对过期key进行监控@Slf4j@Component@Autowired@[email protected]("进入监控方法....");log.info("监控到的body为: {}", body);
2023-10-23 17:51:16 526
原创 搭建springcloud注册中心eureka以及admin监控
启动euereka-server后,再启动其他服务,spring-admin也是作为eureka客户端注册在eureka注册中心。要求:搭建一个eureka-server注册中心,再构建两个eureka-client注册上去,然后再搭建admin服务注册到注册中心。2. eureka-client服务的pom都导入了下面的依赖,其被标注为一个admin 客户端,服务启动后能够被admin服务端监控。1. 服务都注册在注册中心上,admin可以获取注册中心上面的服务。输入账号密码 admin。
2023-09-12 17:46:14 225
原创 JAVA 使用RSA算法进行数字签名验证-附完整代码
公司项目是有做资金管理相关的,涉及到充值,提现,转账等关键性的功能,需要保证数据传输的安全性,所以使用了较为简单的RSA进行生成秘钥且每个接口都需要做验签。RSA是一种非对称加密算法,它是由Rivest-Shamir-Adleman三位密码学家于1978年提出的。RSA算法的加密规则如下:钥匙生成:RSA算法使用两个密钥,一个是公钥(public key),用于加密数据,另一个是私钥(private key),用于解密数据。
2023-08-21 17:21:22 2675 4
原创 EasyPoi导出,设置不同列的字体颜色(修改easypoi 3.1.0版本源码)
3. 从上面的 createSheet()方法进入ExcelExportServiceNew 类 ,关于 ExcelExportServiceNew 类 ,我主要修改了createSheet方法,主要是获取注解字段,以便后面在往excel填充数据时候 根据不同的字段 设置不同样式,从而到达不同颜色字体的效果 (完整代码在末尾)。需求人员要求对导出的excel重点列设置不同颜色,由于项目使用的是easypoi工具包,经过了一天的看源码,修改源码的痛苦时间.....最终找到源码的关键点进行修改。
2023-05-10 17:52:11 3170 1
原创 Java 微信公众号消息推送(从零开始)
Java对接微信公众号消息推送,从零开始,包括获取用户openId,获取基础accessToken 和 发送模板消息
2022-06-10 17:38:47 20975 14
原创 自定义的SpringContextUtil继承ApplicationContextAware
自定义的SpringContextUtil继承ApplicationContextAware
2022-03-30 10:40:27 938
原创 ArrayList源码学习记录
ArrayList实现了AbstractList类,继承了List\RandonAccess(能够提供快速\随即访问)\Cloneable(可以生成field-for-field实例副本)\Seri...(可序列化)接口1.主要的属性 /** * list的初始长度 */ private static final int DEFAULT_CAPACITY = 10; /** * list以数组作为缓冲区,且底层存储结构是数组 */
2022-03-10 11:14:34 113
原创 mybatis 传入对象 对象包含两个list属性
在入参对象中定义了 tradeDirections 和 ids 两个list;调用该方法。入参为对象分别以tradeDirections 和 ids作为查询条件 <select id="listByTradeDicDate" parameterType="com.win.dfbp.biz.outside.other.pledgedrepo.vo.request.RepoConstructionListReqVO" resultType="co...
2021-11-25 10:51:24 1776
原创 list分批保存到另一个list
import lombok.extern.slf4j.Slf4j;import java.util.List;@Slf4jpublic final class BatchOperator { private BatchOperator() { } /** * 批量操作 * * @param pageSize * @param list * @param callback * @param <T>.
2021-11-19 10:58:20 425
原创 记录list自定义排序升序/降序
List<String> origin = new ArrayList<>(); origin.add("1"); origin.add("3"); origin.add("2"); origin.add("9"); origin.add("5"); origin.add("77"); origin.add("12"); Collections.sor..
2021-11-17 15:06:29 186
原创 git输入 ssh-keygen -t rsa 后只显示Generating public/private rsa key pair. 然后就直接跳出了
如图。一个上午就因为这个 跳出了 所谓的3次回车。。现在是连回车的机会都没有,然后没法接着往下走,导致.ssh文件夹、id_rsa 等文件都无法创建。百度后。。貌似都没有出现这种情况。。于是我决定重新卸载git 安装git。。因为卸载git 不干净,但第二次安装后。如果输入git config --list 会发现之前设置的用户名 和邮箱地址都存在。此时继续输入ssh-keygen -t rsa -C "[email protected]" 还是同样的错误。。最后!!!!我把git完全卸载...
2021-11-16 14:16:39 5825 2
原创 List、Map、Map<String,List<String>>的正确remove方式
问题描述:工作中存在对list、Map、和复杂Map+list的元素移除操作。我比较习惯用iterator迭代器,因为这个无论怎么移除元素,都不会出现异常; /*********************** list ********************/ List<String> list = new ArrayList<String>(5); list.add("a"); list.add("b"); ..
2021-11-09 20:00:59 1394
原创 文件格式转换工具
新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作
2021-11-09 19:02:52 150
原创 基本类型偏执-平行继承体系-令人着迷的暂时值域
基本类型偏执:含义:以类代替原来单独存在的数值实现方法:如果是单独存在的数据值,考虑用Replace Data Value with object如果想要替换的数据值是类型码,且这些类型码不影响行为,则运用Replace Type code with Class如果是与类型码相关的条件表达式,可以使用Replace Type Code with Subclass或 Replace Type Code with State/Strategy(以状态/策略取代类型码)如果有一组总是放在一起的字段
2021-05-10 09:54:52 485
原创 java 实现手机号码(String)校验----两种方法
要求的手机号码:1.号码位数只有11位2.不能出现字母或其他字符3.一般以13x 15x 18x开头通过正则表达式校验:import java.util.regex.Matcher;import java.util.regex.Pattern; @Test public void test() { Pattern pattern = Pattern.compile("^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0
2021-04-14 17:35:55 6205
原创 java 实现 ppt或pptx文件转换PDF文件 -- poi
前提:由于ppt和pptx文件格式不同,ppt是基于二进制的文件,而pptx是基于xml文件, 也是就pptx是2007年后出现的新的ppt版本,对这两种文件处理方式转换PDF其实都差不多,只是要注意接收文件ppt或pptx以及获取两种文件内容 需要的类处理,即使用POI 里面的XMLSlide 和 HSLFSlide 进行分别处理。maven依赖都使用poi 4.1.2版本: <!-- poi --> <dependency> <g
2021-04-02 11:40:40 4572 50
原创 java : word,excel,img,ppt各种文档转换pdf格式以流方式
前提:面对各种文件转换pdf格式,我下面写的都是一些方法,其中每个方法都以流的方式进行参数的传递。工具类主体:package com.win.dfas.file.util;import cn.hutool.core.util.StrUtil;import com.aspose.words.*;import com.aspose.words.HeaderFooter;import com.aspose.words.HorizontalAlignment;import com.aspose.w
2021-03-30 09:29:25 9388 63
原创 mybaits 中List的相关应用场景 如批量保存和条件为list查询
mybatis中根据list查询应用场景为:当需要调用list参数进行查询时,查询所需条件是list,一般来说,list中保存的应该为int或者long类型的数据 而且都是习惯使用id保存在list中;举例: 我们把书本id保存在list中,根据书本id 查询所有书本<select id="listBook" resultMap="BaseResultMap" parameterType="java.util.List">SELECTbook_name,author FROM boo
2021-03-10 17:02:06 254
原创 mysql 模糊查询 查询条件为多个
模糊查询 查询条件为2个一般写模糊查询。我们通过用一个字段用于模糊查询也就是 name Like CONCAT(’%, #{name}, ‘%’) ,这样比较简单 但是如果条件为两个或多个怎么办? 我们一步步来。以下是一个完整的例子有一张表book 里面有两个字段 如book_name 和 author 我们现在根据这两个字段模糊查询// 我们遵从mvc模式// dao 层// BookMapper.java /** * @Title: listLikeBookNameOr
2021-02-22 15:24:47 5345
原创 Java 后端接收MultipartFile类型文件接口(带参与不带参)
list集合根据对象某一属性排序: Collections.sort(xxlist, Comparatro.comparing(ClassName :: methodClass)) // 按照成功率进行升序排序 Collections.sort(list, Comparator.comparing(QrtzTaskExecutorTotalRepVO :: getSuccessRate));问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,
2021-02-22 15:07:08 17751 15
原创 list集合根据对象某一属性排序
list集合根据对象某一属性排序: Collections.sort(list集合,Comparator.comparing(对象 :: get属性) // 按照成功率进行升序排序 Collections.sort(list, Comparator.comparing(QrtzTaskExecutorTotalRepVO :: getSuccessRate));
2021-02-22 15:04:21 241
原创 mysql 子查询 例子
子查询也就是嵌套查询例如 select * from (select * from table) AS 别名SELECT *, successCount/(failCount+successCount+warnCount) as successRateFROM ( SELECT MAX(l.id) AS id, t.task_code AS taskCode, t.task_name AS taskName, MAX(l.batch_id) AS batchId
2021-02-22 15:03:03 125
原创 项目需要import另一个项目的类或者其他内容,项目依赖另一个项目
项目场景:在日常开发中,如果你需要用到别人已经写好的maven项目也可以说是现存的工具项目,再通俗一点,如果项目1需要import项目2的类,此时就涉及到项目依赖。在公司里面,如果你遇到有公司统一管理父pom或者公司自己写的的项目包,在你写项目的时候,需要引入公司资源通用方法:首先规规矩矩地在你自己的项目中导入你需要的项目:第一步:点击file->Project Structure->Modules->±>import Module 选择你需要的项目即可或者直接通过po
2021-01-22 15:13:33 1739 1
原创 mybatis 只在Impl层加入业务逻辑 以及 has an unsupported return type: class java.lang.String解决办法案例
项目场景:在做mybatis增删改的时候,可能会遇到这类问题,主要发生在dao层 、service层、Impl层和controller层问题描述:由于公司代码规范,要求我将controller层里面不要带任何的逻辑判断,只能在controller 里面 就直接调用Service的方法 ,得到service的方法返回结果 然后返回例如:controller层: public String deleteUserById (@PathVariable(value = "id") int id
2021-01-21 15:01:32 5620
原创 一家金融技术公司的java开发实习生一个半月的学习总结
前提我实习的公司是搞金融软件开发的,实习的岗位就是Java开发,通过公司的相关介绍,了解到公司是做资金交易计算的,说白了就是帮基金公司和银行以及其他的金融机构进行交易的计算的,帮他们算数从而获取利润。学习到业务知识和了解的技术公司是搞金融的,所以相关的金融知识必不可少,学习了会计基础,会做简单的会计账,通过业务培训,对基金、股票、证券和回购业务有了基础的认识,也就是学习金融工具的基本内容。有说实在的,现在只是有一个初步印象,由于我们部门跟前端接触比较多,所以对业务了解就不是那么深刻了,涉及到的资金计算
2021-01-18 16:13:01 712 2
原创 springcloud 微服务config配置中心 本地获取和远端获取
springcloud-Config + eureka 本地获取和远程获取 (gitlab)一、创建eureka注册中心springboot版本为2.2.2.RELEASEspringcloud版本为Hoxton.SR6以下都是这个版本eureka注册中心,相信你会,没有什么特别的操作,就是一个简单的eureka注册中心即可按自己的来就行!application.ymlspring: application: name: config-eureka # 实例名server:
2021-01-14 17:43:22 1741 2
空空如也
pdf 转word java代码
2021-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人