自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用ftp进行文件上传,含客户端和服务端实现

使用ftp进行文件上传,含客户端与服务端实现

2024-04-09 12:03:53 245

原创 解析医疗影像中的dicom文件

我们先了解一下DICOM文件是什么,干嘛用的,以及DICOM内部有哪些信息,然后再谈如何去解析这些信息并转换成java对象。

2024-03-08 16:43:30 904

原创 分享一款我自己开发的自动更新小工具

我们公司最近需要开发一款自动上传的工具,这个工具需要安装在用户电脑上,但是这样不利于维护,于是想到了自动更新这个功能,需要在打开工具时顺带打开自动更新的小工具,这样我们在更新代码后,用户那边就能自动扫描到我们更新的程序,因为不涉及到公司的业务,这个小程序完全可以开放出来,给大家个小福利。如果您有什么问题欢迎扫码添加我的公众号留言或添加我的微信即可,我会根据您的问题完善这份文档。当代码更新完后,将修改的代码文件放在一个文件夹中,info.xml和修改的代码在同一级目录上,如下图所示。

2024-03-03 17:29:10 360

原创 使用JWT实现无状态登录验证

使用JSON Web Token(JWT)实现登录认证是一种常见的无状态身份验证机制,它允许服务器在一次登录后向客户端发送一个签名的令牌,客户端随后可以在每次请求中携带这个令牌以证明其身份。以下是JWT实现登录认证的一种方式(使用手机+验证码登录例子)。

2024-02-21 20:04:26 847

原创 GUI—— 从的可执行exe文件中提取jar包并反编译成Java

请注意,反编译的结果不一定完全准确,尤其是对于混淆过的字节码或者优化过的class文件,可能无法完美还原原始的Java源代码。1.下载并安装反编译工具:例如JD-GUI(Java Decompiler GUI),这是一款流行的Java反编译器,可以直接打开.jar文件查看源码。当它运行时,通常会将内部包含的jar文件解压到临时目录下。3.复制jar文件:找到对应的jar文件后,将其复制到另一个安全的位置备用。另外,这里附上两则博客,一个是提取jar的,一个是反编译jar的。

2024-02-19 20:27:54 574 1

原创 GUI—使用launch4j-plugin将maven项目打包成exe可执行文件

maven-shade-plugin,其主要功能是在项目构建生命周期中的package阶段执行,用于创建一个“影子”JAR(也称为Uber JAR),即将项目的所有依赖项合并到单个可执行的JAR文件中。:其主要功能是在项目构建生命周期中的package阶段执行,用于创建一个“影子”JAR(也称为Uber JAR),即将项目的所有依赖项合并到单个可执行的JAR文件中。之后会生成exe文件,将exe文件拷贝到自己新建的文件夹中,双击exe文件,如果有配置就需要将配置添加到相应的目录中。

2024-02-19 20:24:46 1006

原创 GUI ——(java的图形界面)快速入门

GUI,即图形用户界面,是用户与程序交互的主要方式之一。Java 提供了一组 GUI 工具包,可以帮助开发者创建美观、易于使用的应用程序。GUI(图形用户界面)编程是开发一个应用程序的重要组成部分。它影响了用户与软件的交互方式,使人们能够通过直观的图形界面与程序进行操作。Java 作为一门广泛应用于各领域的编程语言,其 GUI 编程能力也非常强大。下面,我将详细整理 Java GUI 编程的基本概念、组件、布局管理器以及事件处理等方面的知识。

2024-02-19 20:15:19 952

原创 SQL语句优化

当表中有百万数据的时候,我们要怎么去查询数据,平时写的sql也许就会很慢了。

2023-08-29 15:47:38 125

原创 百万级数据导入导出

引入easyexcel

2023-08-27 21:36:13 212

原创 mysql中使用CASE WHEN

简单的使用CASE WHENCASE SCORE WHEN 'A' THEN '优' ELSE '不及格' ENDCASE SCORE WHEN 'B' THEN '良' ELSE '不及格' ENDCASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END上面的sql等同于CASE SCORE WHEN 'A' THEN '优' WHEN 'B' THEN '良' WHEN 'C' THEN '中' ELSE '不及格' ENDTHEN后

2020-12-21 11:22:23 315

原创 使用静态代理模式实现公用的报表导出功能

先聊一下什么是代理模式?代理模式 给某个对象提供一个代理对象,并由代理独享控制对原对象的引用。什么意思呢?代理模式就有点像我们生活中常见的中介。举个例子,我想买辆二手车,第一种方式是自己去找车源,但是像质量检测等一系列的车辆过户流程都需要自己去办,我觉得这样太浪费精力和时间了。于是我想到了第二种方式,就是找一个中介公司,他们代替我办理过户流程,我只需要负责选择自己喜欢的汽车,然后付钱就行了,这就简单很多了。画个UML图如下。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img

2020-12-11 17:52:49 172

原创 在Spring Boot中使用切面统一处理自定义的异常

最近我们将项目的一个单独模块提取了一个微服务,这个微服务主要负责其他系统的接入。目的是发布主项目的时候不会影响到其他系统接入。在提取出的微服务中,需要定义一个正常返回的报文和异常返回的报文。正常返回报文就是正常业务返回的数据报文,异常返回报文我这里定义为比如一些校验异常或是权限异常等等,这里不包括程序出现的异常,比如数据库出错这些。我暂时是这样定义的。大家有好的方式也可以一块讨论。正常的报文:正常的报文比较松散,我指定为自己去定义报文格式。不过基本有这两个字段{ "requestId": "ed93

2020-12-11 15:00:51 1071

原创 操作符

直接常量double: 111d,111D二进制:前缀为0b十六进制:前缀为0x或0X,后面最大9位。八进制:前缀为0,后面最大7位。按位操作符与(&):或(||):异或(^):非(~,一元操作符):移位操作符<< :左移位,按指定位数向左移动,在低位补0>> :有符号右移,按指定位向右移动。符号为正,在高位插入0,符号为负,在高位插入1&...

2019-06-02 22:35:12 109

原创 Redis学习记录

Redis简介­­­Redis是一个高性能的key-value非关系型数据库,可以存键(key)与5中不同类型的值(value)之间的映射(mapping)。支持存储的value类型包括:String(字符串)、list(链表)、set(集合)、zset(有序集合)、哈市(散列表)Spring数据类型赋值命令命令原型:SET key value描述:设定该key持有特...

2019-04-09 16:48:16 118

转载 关闭json引用的方式

https://www.cnblogs.com/zjrodger/p/4630237.html【具体方案】1、如果你用的是FastJson,首先要关闭FastJson的“循环引用检测”特性。2、如果你不想修改实体之间的关系,则将代码:“@JSONField(serialize=false)”添加在下列方法中public Set getArticles() {…}3、从“Article”的...

2019-02-13 09:39:09 818

原创 mybatis-spring 入门到实例

入门安装在pom.xml中导入mybatis-spring.jar包快速入门要把spring和mybatis一起使用,需要定义两样东西:SqlsessionFactory 和 至少一个数据库映射器类。SqlSessionFactoryBean 是用于创建 SqlSessionFactory 的,需要一个Datasource参数。&amp;amp;amp;lt;!-- spring-config.xml --&amp;amp;amp;...

2018-11-21 11:37:23 497

原创 Mybatis3(3)动态 SQL

可以利用动态SQL摆脱凭借SQL语句的痛苦。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。ifchoose (when, otherwise)trim (where, set)foreachif动态 SQL 通常要做的事情是根据条件包含 where 子句的一部分。&amp;amp;amp;lt;sel...

2018-11-15 16:29:11 168

原创 Mybatis3 (2)xml映射文件

SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):cache – 给定命名空间的缓存配置。cache-ref – 其他命名空间缓存配置的引用。resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。parameterMap – 已废弃!老式风格的参数映射。内联参数是首选,这个元素可能在将来被移除,这里不会记录。sql – 可被其他语句引...

2018-11-15 15:27:42 378

原创 Mybatis3 XML属性配置

对象工厂(ObjectFactory)MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例化目标类。如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现。配置环境(environments)Mybatis可以配置成适应多种环境。例如,开发、测试和生产环境需要有不同的配置;或者共享相同 Sche...

2018-11-14 15:47:40 402

原创 Sprng boot(十三):Spring boot 小技巧

初始化数据使用jpa在使用Spring boot jpa的情况下设置 spring.jpa.hibernate.ddl-auto 的属性为 create 或 create-drop ,Spring boot启动时默认会扫描classpath下面(项目一般是resources目录)是否有import.sql,如果有机会执行import.sql脚本。使用spring JDBC使用spring...

2018-10-13 12:29:03 142

原创 Spring boot(十二):Spring boot 如何测试、打包、部署

博文引用:springboot(十二):springboot如何测试打包部署开发阶段单元测试Spring boot对单元测试的支持已经很完善了。1 在pom包中添加Spring-boot-starter-test包引用&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframework.boot&amp;amp;lt;/groupId&am

2018-10-10 17:40:03 169

转载 Springboot(十):邮件服务

发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。最早期的时候我们会使用javaMail相关api来写邮件相关代码,后来spring退出了javaMailSender 更加简化了邮件发送的过程,在之后springboot 对此进行了封装就有了现在的spring-boot-starter-mail,本章文章的介绍主要来自于此包。简单使用1、pom包配置pom包...

2018-10-10 15:58:55 1095

原创 Spring boot(九):定时任务

在我们的项目开发过程中,进场需要定时任务来帮助我们做一些内容,springboot默认已经帮我们实行了,只要天剑相应的注解就可以实现。1、pom包配置pom包里面只需要引入springboot starter包即可&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/gro...

2018-10-09 17:39:15 122

原创 Spring boot(八):RabbitMQ详解

RabbitMQ介绍RabbitMQ既一个消息队列,主要用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。消息中间件在互联网公司的使用中越来越多。消息中间件最主要的作用是解耦,中间件最标准的用法师生产者生产消息传送到队列,消费者从队列中拿去消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式系统中,消息队列也会被用在很多其它的方面,...

2018-10-09 11:43:02 323

原创 Spring boot(七):Spring boot+ mybatis 多数据源最简解决方案

多数据源一般解决哪些问题?主从模式或者业务比较复杂需要连接不同的分库来支持业务。直接上代码。配置文件pom包依赖,该依赖的依赖。主要是数据库这边的配置:mybatis.config-locations=classpath:mybatis/mybatis-config.xmlspring.datasource.test1.driverClassName = com.mysql.jdbc....

2018-10-09 09:47:45 690

原创 Spring boot(六):如何优雅的使用mybatis

hibernate 和 mybatis 的区别hibernate的特点是所有的sql都用java代码生成,不用跳出程序去(看)sql,发展到最顶端就是Spring data jpa了。mybatis初期使用比较麻烦,需要各种配置文件、实体类、dao层映射关联、还有一大堆其他配置,初期开发了generator可以根据表结果自动生成实体类、配置文件和dao层代码;后期进行了大量优化可以使用注解,...

2018-10-08 11:19:08 162

原创 Spring boot (5):Spring data jpa 的使用

介绍spring data jpa的常用方法与注意事项Spring data jpa介绍jpa 是什么?jpa 是sun官方提出的java持久化规范。它为java开发人员提供了一种对象/关系映射工具来管理java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink、JDO等ORM框架各自为营的局面。注意:jpa是一套规范,...

2018-09-28 10:37:20 367

原创 Spring boot(3):Spring boot中Redis 的使用

Spring boot除了常用的数据库支持外,对nosql数据库也进行了封装自动化。1 Redis介绍Redis 是目前业界使用最广泛的内存数据存储。相比memcached,(1)Redis支持更丰富的数据结构,例如hashes,lists,sets等,同时支持数据持久化。(2)除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的...

2018-09-27 13:22:27 115

原创 Spring boot web(2):web综合开发

1 web开发Spring boot web 开发非常简单,其中包括常用的 json输出、filters、property、log等1.1 json接口开发在以前的Spring 开发我么提供json 的做法:添加jackjson 等相关jar包配置Spring controller扫描对接的方法添加@ResponseBody而在Spring boot中,只需要添加 @RestC...

2018-09-26 16:51:01 143

原创 重新学习Spring2——IOC和AOP原理彻底搞懂

一、AOP1 Spring AOP 的实现原理是对OOP编程方式的一种补充。翻译过来为“面向切面编程”。1 AspectJ是静态代理的增强:所谓静态代理就是AOP框架会在便一阶段生成AOP代理类,也叫编译器增强。2 使用Spring AOP与AspectJ 的静态代理不同,Spring AOP使用的是动态代理,动态代理指AOP框架不会去修改字节码,而是在内存中临时生成一个...

2018-09-21 16:59:25 1989 1

原创 重新学习Spring一--Spring在web项目中的启动过程

1 Spring 在web项目中的启动过程Spring简介Spring 最简单的功能就是创建对象和管理这些对象间的依赖关系,实现高内聚、低耦合。(高内聚:相关性很强的代码组成,既单一责任原则;低耦合:耦合指块间联系,低耦合既块间联系要低。)还提供像通用日志、性能统计、安全控制、异常处理等面向切面的能力,能帮我们管理最头疼的数据库事务。本身提供了一套简单的JDBC访问实现,提供了与第三...

2018-09-19 10:44:18 4412 1

原创 JDK并发包

JDK提供了大量实用的API和框架,来支持JDK内部功能:介绍更多多线程控制方法,比如之前的synchronized;介绍JDK中对线程池的支持,提高线程调度性能;向大家介绍JDK的一些并发容器。1 多线程的团队协作:同步控制synchronized 的功能扩展:重入锁使用java.util.concurrent.locks.ReentrantLock 类来实现 ;需手动...

2018-09-19 08:41:28 197

原创 java并行程序基础

1 进程 1 进程和线程之间的关系:进程是线程的容器。2 线程1 线程的执行流程: 1 **线程调用start()**方法时,表示线程开始执行; 2 **当线程执行时,处于RUNNABLE状态**,表示线程所需的一切资源都准备好了; 3 **当线程遇到synchronized同步块,就进入BLOCED阻塞状态**,这时线程会暂停执行,直到获得请求的锁。...

2018-09-18 16:35:37 152

原创 Spring MVC+layui(基于bootstrap)+t 新增功能(页面和数据传递)

为开发的规范,更易于扩充,将新增与列表页分开为:list.html、add.htmllist.html:<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head><meta charset="utf-8"></meta><meta name="viewport" content="width=device-wi

2017-12-18 18:05:58 2630

转载 spring-boot--整合thymeleaf模板

http://blog.csdn.net/li396864285/article/details/53811527

2017-11-14 16:00:47 205

转载 使用nginx配置多个域名与实现负载均衡

http://jsczxy2.iteye.com/blog/1423404

2017-11-14 09:29:07 8002

转载 从零开始学spring-boot(2)-集成spring-data-jpa

http://blog.csdn.net/u013257425/article/details/52970820

2017-11-09 14:44:19 176

转载 系统项目源码

http://blog.sina.com.cn/s/blog_4b5bc011010114zu.html

2017-11-09 10:09:35 317

转载 一篇总结的很好的Spring data jpa 文章,里面包含多种查询方式,可以结合api使用

http://www.cnblogs.com/ityouknow/p/5891443.html

2017-11-09 09:53:13 168

转载 搭建一个简单的Spring boot+maven项目

http://www.cnblogs.com/suncj/p/4065589.html

2017-11-08 16:51:15 346

windows小工具自动更新小程序

适合桌面应用,绿色软件的工具自动更新,比如java gui开发的自动上传工具。

2024-03-03

redis桌面链接工具redis-desktop

redis桌面链接工具redis-desktop Redis Desktop Manager(简称RDM)是一款跨平台的Redis数据库管理工具,它提供了一个直观且用户友好的图形界面,允许开发者和运维人员轻松地连接到Redis服务器,并对其进行管理和操作。通过Redis Desktop Manager,用户可以执行以下操作: 连接到本地或远程Redis实例 查看、添加、修改和删除Redis中的键值对数据 支持多种数据类型的操作,包括字符串(Strings)、哈希表(Hashes)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)等 执行Lua脚本以及监控Redis的性能 导出和导入Redis的数据 多数据库切换与浏览 实时更新视图以显示最新的数据变化 使用Redis Desktop Manager有助于简化Redis数据库日常管理任务,提高开发效率,并且由于其可视化的特性,使得非技术背景的用户也能更容易理解Redis中存储的数据结构和内容。

2024-02-22

空空如也

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

TA关注的人

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