
Java
文章平均质量分 79
罗马苏丹默罕默德
寇可往,我亦可往
展开
-
Quartz使用H2数据库(嵌入模式)进行持久化
(PS:如果不使用Cluster的话,Quartz不会持久化Scheduler,所以不要纠结于QRTZ_SCHEDULER_STATE表为什么没有数据)运行结束后打开h2数据库,你的Scheduler绑定的Trigger和Job将会被保存到表中。Quartz在包内提供了多种数据库的sql文件,大家可以选择方便的使用。Quartz包中有默认的properties配置文件,可以直接复制出来进行修改。使用H2持久化Quartz任务。使用数据库连接工具创建需要的表。2.修改Quartz的配置文件。原创 2023-06-23 19:27:19 · 906 阅读 · 0 评论 -
如何正确计算导入Excel的行数(POI/NPOI)
在一些具体的业务实现中经常要使用Excel作为数据的来源,或者导出一些Excel。一般我们都是使用POI(Java)/NPOI(.Net)来读取或写入相关的数据。这个月接手别人的模块,在模块中需要频繁的导入导出Excel操作,在给那些‘测试’对接时,经常出现导入失败的情况,非常烦人。这大概率是POI/NPOI的行数和实际导入的Excel有效行数不一样造成的这里以下面的一个Excel为例这个Excel没有改格式也没有加空格,它的行数统计如下这里随便插入一行再运行便可再次测试1.空格造成的行数错原创 2022-06-22 14:38:09 · 2397 阅读 · 0 评论 -
使用RabbitMQ让C#项目和Java项目互相发送和接收消息
PS:这只是一个测试,rabbit是在本地的环境,先开启rabbitMQ的服务器代码是直接拿的RabbitMQ官网里的,可以直接拿来用Java的Customer结果先运行C#的Provider,产生了一条消息再启动Java的Customer消息被消费掉了。反过来也很简单,只需要注释Java的接收代码,添加发送消息的代码即可C#的接收也同理...原创 2022-06-11 20:29:19 · 469 阅读 · 0 评论 -
Logback使用学习二(深入Appender)
在Logback的官方文档中对Appender的标签定义如下。Logback delegates the task of writing a logging event to components called appenders.翻译过来就是Logback 将写入日志记录事件的任务委托给称为追加器的组件.LogBack提供了几种常见的Appender,可以开箱即用。1.控制台输出器ConsoleAppenderConsoleAppender是logback.core提供的基础Append.原创 2022-05-06 17:22:40 · 1568 阅读 · 0 评论 -
Logback使用学习一(简单使用)
Logback是一款经典的日志框架。原创 2022-05-03 15:53:41 · 1801 阅读 · 0 评论 -
在非安卓的Java环境中生成和解析二维码
因为是非安卓的环境,所以解析的话是不用去调相册或是拍照的。一般是直接用图片文件去解析,所以如果要在电脑上操作是非常简单的。 这里使用的工具是ZXING,在我的Eclipse上使用需要有两个包分别如下。  由于ZXING可以生产和解析非常多种的一维和二维码,这里只介绍二维码(QR_CODE)生成二维码//在ZXING中通过QRCode...原创 2022-04-16 10:51:52 · 475 阅读 · 0 评论 -
Java使用PDFBOX操作pdf文件(二,绘制图形和水印)
在上一篇文章之中,我们已经知道怎样创建和操作加载pdf文件了。现在来看一看使用PDFBOX进行图形的和文字的绘制在PDF中绘制图形通过流对象不仅可以绘制文字信息,也可以绘制一些简单的图形。例:在PDF中绘制一个实心的长方形。public static void main(String[] args) throws IOException { PDDocument docment = new PDDocument(); PDPage pageOne = new PDPage(PDRectangle原创 2022-04-15 09:43:55 · 3056 阅读 · 1 评论 -
Java使用PDFBOX操作pdf文件(一,加载和创建pdf)
前言:之前想学习使用Java操作pdf的时候看过了IText的文档。确实IText的文档很全,也有一个官网可以很方便的查找信息。但IText的开源协议为AGPL,使用者必须传染性的开源代码,商业使用必须付费获取商业许可。所以有一些风险。所以转而来学习使用PDFBOX。现在pdfbox的文档并不是很多,列出如下链接以做参考。https://iowiki.com/pdfbox/pdfbox_quick_guide.html一.加载已有的pdf文件 注意:PDFBOX依赖commons-logging,f原创 2022-04-13 14:48:51 · 16598 阅读 · 0 评论 -
Mybatis配置一对一关系
与其说是Mybatis配置一对一,不如说是我们手动配置好数据库的表关联然后映射到Mybatis上去这里以双向关联为例1.设计数据表关于一对一的设计我一般使用两种方式,入下图一.使用唯一外键关联即在任意一张表中添加外键参照对方表的主键,并设置Unique属性,不过这种方式有个缺点,参照表的Null值只能有一个,在一些特殊情况下不合适二.主键同时作为外键优点是可以少设计一列,空间被省下来了,但是必须要依赖对方表的主键这里以第一种方式建两张表CREATE TABLE t_person (原创 2022-03-11 17:35:23 · 1174 阅读 · 0 评论 -
Hibernate,JPA配置集合类型List,Set,Map..(上,Hibernate)
通常在Hibernate或JPA中,配置集合多涉及到关联关系的配置,(当泛型为关联对象的类时)常见的如:Set List 存在的类中(泛型T不为基础数据类型的包装类)----------这意味着需要配置一对多或多对多的关联大多数的情况下,我们能在一对一,一对多,多对多的关系中满足需求,但有时候则必须配置Map,或Set<基础数据类型>,List<基础数据类型>的映射所以在此记录一下,以供不时之需1.Hibernate配置基础类型Set,List这里自动忽略Set&原创 2022-03-04 11:26:21 · 1354 阅读 · 0 评论 -
多线程对比|Java的Future使用和C#的TASK的使用
前言:这里不会探讨它们的运行原理,考据党可以先行告退常在.NET 开发中涉及到TASK的使用,也知道TASK是C#中对多线程编程的一种优化,它的使用非常简单,你可以用它修饰在方法上,也可以直接传递一个Action让它直接执行同时也可以从中获取执行的返回值,捕获异常什么的.而之前笔者对Java的多线程的知识还停留在Thread和Runnable,回头一想,是否Java也有类似的机制,所有看了一些文章,了解了Future的概念发现这两个机制的风格有些相像,故记录下来Java的简单原创 2022-02-15 09:51:21 · 1085 阅读 · 0 评论 -
粗略的对比下Java的stream操作和C#的LINQ操作
前言:笔者的实习使用.NET环境而之前在学校给培训的是Java,所以目前经常在两种语言和平台中切换,由于工作中使用C#,学到了很多C#的知识和框架,它们或多或少和Java中有的东西有相似性.从中也有一些启发,故将之记录下来背景:C#的Linq最早发布于2007年的C#3.0而Java的流操作到Java8标准才出现两者的使用目的都是为了简化或提高对集合类型(广义的IEumnable对象)的操作,提高效率.且都被实践证明是非常重要的.理解和掌握他们的使用对自己的编程思想是一次大的提升接下来原创 2022-02-10 10:07:14 · 2886 阅读 · 0 评论 -
记一个用Jackson序列化JPA对象的bug:No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLa
最近在搞毕业答辩的项目,因为用到了Redis,要把JPA查出来得对象给序列化到Redis里去本来很简单,却浪费了一些时间 @Cacheable(value = {"user"}) //在Cacheable里报序列化错误 No serializer found // for class org.hibernate.proxy.pojo.javassist.JavassistLa @Override public User getUserInfoByID(long ID) {原创 2022-01-10 21:57:28 · 865 阅读 · 0 评论 -
读《深入理解Java虚拟机,JVM高级特性和最佳实践》笔记|垃圾回收概念
方法区的垃圾回收方法区存放着一些常量(字符串,整型…),类的信息(Class),且在1.7中位于永久代(Permanent General),发生垃圾收集的可能比较小,但并非不会进行垃圾收集,方法区的收集主要分为两部分1.废弃的常量当没有引用再指向一个常量时,也就是程序无法再获取到该常量时,(和对象的死亡差不多)当进行垃圾收集时,垃圾收集器觉得有必要的话,会对该废弃常量进行收集2.不使用的类型Class类回收Class类型的条件比较苛刻,必须满足以下条件该类的所有实例都以回收,也原创 2021-09-18 23:38:20 · 252 阅读 · 0 评论 -
Java处理wangeditor上传图片并升级一下
wangeditor上传图片1.在页面上设置富文本编辑器<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><script src="static/js/jquery-3.5.1.js"></s原创 2021-09-17 23:53:48 · 803 阅读 · 2 评论 -
SpringAOP的使用
SpringAOP的使用1.在配置文件中引入对aop的约束,并在POM文件中加入织入包的依赖<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" //上面两个是基础IOC的约束,必备 xmlns:context="h原创 2021-09-15 21:44:41 · 192 阅读 · 0 评论 -
SpringMVC的具体使用(中)
SpringMVC的具体使用(中)1.响应&回写数据一.返回String字符串实现Controller及标记@Controller注解的类的方法返回的字符串会经过视图解析器(InternalResourceViewResolver)变成返回页面的路径 @RequestMapping("/hello2.do") public String HelloController(Model model) { model.addAttribute("wdnmd", "这是注解方式的controll原创 2021-09-14 20:45:46 · 513 阅读 · 0 评论 -
SpringMVC的具体使用(上)
SpringMVC的具体使用(上)1.在Web开发环境中集成一.导入相关的包(spring3.X之后的发布版都带有springMVC需要的包)如果是maven项目则导入相关依赖 <!--web--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> &原创 2021-09-13 19:21:16 · 103 阅读 · 0 评论 -
Spring整合JPA
Spring整合JPAJPA是一套ORM的标准而Hibernate是其Provider(可以说是一种实现吧),所以要使用JPA必须使用Hibernate,Spring整合jpa和spring整合hibernate的过程很像,可以从以下过程看出1.导入相关依赖如果不需要使用Spring Data提供的一些JpaReposety等持久层接口,则无需导入Spring Data 相关的包,(如果导入Spring Data的相关包就变成了整合Spring Data JPA了)如果只需要使用jpa的话就只用导入原创 2021-09-12 12:52:50 · 724 阅读 · 0 评论 -
我的一些比较杂的记录
杂相1.如何向Java的Date类型赋值 DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd"); Date date = dateformat.parse("1999-06-08"); System.out.println(dateformat.format(date))2.Jquery如何取下拉框选中相的值和单选框radio选中的值<select id="needit"> <option><原创 2021-09-11 23:59:49 · 201 阅读 · 3 评论 -
适配器模式AdapterMode
适配器模式AdapterMode1.概念没接触设配器这个概念以前,看着电脑电源,显卡这些东西上的全名都写着什么电源适配器,显示适配器的很不解,不就是个充电的和亮机的东西,他们适配了什么玩意儿。适配器的原理其实很简单,就是把两个没有关联的东西通过一个中间容器(或是别的什么东西)联系在一起以上述的电源为例,电脑无法直接从插孔里使用我们的220V的交流电,所以需要电源来处理(整流,滤波,变压)把交流电变成直流电给电脑使用同理,主机也无法在没有显卡的情况下使用显示器,需要用显卡连接主机(安装在主板上)和原创 2021-09-10 22:07:53 · 189 阅读 · 0 评论 -
原型模式PrototypeMode
原型模式PrototypeMode1.概述原型模式,顾名思义即以一个对象为原型进行复刻或者直接说是克隆。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDtOXeY6-1631194787332)(F:\LocalTyproPictrue\prototype.jpg)]2.前言原型模式即对对象进行复制来创建新的对象在Java的学习中,创建对象一般都需要调用构造函数先来复习一下创建对象的几种不同方式1.通过new关键字Person zhangsan原创 2021-09-09 21:42:49 · 340 阅读 · 0 评论 -
装饰模式WrapperMode
装饰模式装饰模式,又称Decorator亦或Wrapper模式参考了Alexander Shvets的深入设计模式1.装饰模式的目的是一种十分常见的设计模式,装饰者模式可以动态地给一个对象增加其他职责。就扩展对象功能来说,装饰者模式比生成子类更为灵活继承是静态的。 你无法在运行时更改已有对象的行为, 只能使用由不同子类创建的对象来替代当前的整个对象。子类只能有一个父类。 大部分编程语言不允许一个类同时继承多个类的行为。当为增强功能而需要通过继承生成很多子类时,可以使用装饰模式尝试分析一波原创 2021-09-08 12:54:43 · 354 阅读 · 0 评论 -
建造者模式
建造者模式Builder Mode参考了Alexander Shvets的深入设计模式个人理解:建造者模式,与同为创建型模式的工厂模式相比,更注重于对象创建的过程1.为什么有建造者模式尝试去阐述:假如要建一所房子,(是一个复杂对象哦)提供一个基础的抽象类,则可以根据房子用到的材质,占地大小,门窗个数,建造风格。。。。。。(一万个因素)创建一万个实现类or子类或者在一个实现类中囊括上述的所有属性,然后设计一个超级构造方法public House(Material m,Style s原创 2021-09-06 23:00:10 · 348 阅读 · 2 评论 -
Struts1.2+Spring+Hibernate的整合
Struts1.2+Spring+Hibernate的整合1.导入struts相关依赖将struts依赖导入项目下的WEB-INFO的lib目录下并build path,创建并配置struts-config.xml(放在WEB-INF目录下)struts-config.xml是Struts框架的配置文件,ActionServlet需要读取并解析它<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts-config PUB原创 2021-09-01 21:33:06 · 477 阅读 · 1 评论 -
UDP使用的整理
UDP使用的整理Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,DatagramSocket接收和发送的数据都是通过DatagramPacket对象完成的。(图都挂了,下次再补。。。。)1.DatagramSocket的使用DatagramSocket socket = new DatagramSocket();Data原创 2021-08-30 14:51:06 · 154 阅读 · 0 评论 -
Hibernate关联映射
Hibernate关联映射关联映射大体分为一对一的关联映射一对多的关联映射多对多的关联映射关联的方向及关联有方向,大抵意思是一方能够通过关联查到对方,这就具备了单向关联,如果双方能互相查到,就可以称为双向关联例:public class Person { private int id; private String name; private IdCard card; //Person中持有IdCard对象,建立了单向关联....}原创 2021-08-28 23:04:36 · 293 阅读 · 1 评论 -
Eclipse配置一下SSM
Eclipse配置SSM框架1.创建一个Maven工程(带Webapp的)!前提:配置好Tomcat,Maven,创建后会报JSP的错误,需要加上一个depencecy<dependency> <groudId>javax</groudId> <artifactId>javaee-api</artifactId> <version>7.0</version></dependency&g原创 2021-04-24 16:38:13 · 430 阅读 · 0 评论 -
springsecurity自定义userService和认证逻辑(在springboot中)
看了一下感觉这东西还挺难的,得写点什么来总结一下。1.要启用springsecurity很简单只需要在pom.xml中添加相关依赖就行了<dependency><groupId>org.springframework.boot</groudId><artifactId>spring-boot-starter-security</artifactId></dependency>2.准备User类和Role类,这里直接用JPA原创 2020-12-17 23:02:18 · 2626 阅读 · 1 评论 -
JSP实现登录和注册操作
首先在数据库中建好我们要用的表,设置两个列名代表账号和密码,也可以设置ID列为主键这里笔者用的数据库是SQL Server2014,由于要用JDBC连数据库,所以要在项目中加入SQLSever的驱动包,当然用别的数据库也可以(在我的上一篇文章中,有连Mysql和SQLSever的驱动包)1.数据库操作类定义一个DBBean类在构造函数中就通过Connection成员连接数据库, pr...原创 2019-04-19 18:03:26 · 8914 阅读 · 1 评论 -
JAVA用JDBC连接MySQL和SQL Server2014
距离上次碰JSP很久了,在开始连数据库的时候也发生了很多错误,学校组织的比赛也要去推进了,因为我自己在用JDBC时出现的错误,在这里重温一下。。。也为了避免这类低级错误。首先,对于不同数据库,驱动是不一样的,端口也不一样1.连接MySQL1.驱动名com.mysql.jdbc.Driver2.URL:jdbc:mysql://127.0.0.1:3306/(数据库名)import jav...原创 2019-04-09 23:08:54 · 833 阅读 · 0 评论 -
用JAVA写一个电话号码滚动抽奖器
这是我用SWING写的第一个程序的改进,也是学JAVA以来的第一个自己动手写的完整的程序。故把它的思路和过程写成一篇博客,以滋纪念和温习先列出需要用到的知识:1.JFrame和JDialog的相关用法2.控件的动作事件监听的用法3.线程的暂停和恢复以及方法的重写4.一个向字符串数组追加字符串的算法关于界面可以不用手撸代码,下载windowbuilder插件可以实现可视化的操作界面的...原创 2019-03-03 21:40:03 · 2975 阅读 · 1 评论 -
JAVA可视化编程插件WindowBuilder的安装和使用
这是开学的第一篇,作者在寒假的开头到处找视频资源用MFC写了一个半成品的音乐播放器(音量随滑动条的滑动而调节的功能没有实现),其实我并不知道那些API怎么用,自己就托托拽拽那些控件,再到生成的代码里添加事件和方法。C++可以可视化编程,C#有.NET framework更不必说,便觉得手撸窗体,布局,控件无法及时看到效果,效率也很低,不如上述的方便。说了一达通废话,下面开始。1.百度搜索W...原创 2019-02-22 20:49:31 · 1774 阅读 · 1 评论