
Java技术
斯普润布特
热爱Java,低调进取,不贰过
展开
-
Java-很深我只知其一-泛型
目录泛型历史泛型类/泛型接口 泛型方法 泛型属性 泛型约束原创 2023-08-02 11:52:48 · 229 阅读 · 0 评论 -
TreeUtils-集合递归树形结构数据
集合数据转换为tree,配合关系型数据库实现全局抽象原创 2022-10-28 15:13:38 · 418 阅读 · 0 评论 -
上下文对象实例
ApplicationContext 上下位获取实例对象原创 2022-07-12 16:42:22 · 189 阅读 · 0 评论 -
SpringBoot-Spring Data Jpa - 复杂业务查询 Specification
SpringBoot-Spring Data Jpa - 复杂业务查询 Specification Specification 前言 应对Spring Data Jpa 复杂逻辑查询而生的条件对象 Specification 构建对象 Object泛型描述,针对业务逻辑构建的条件对象,通常与Repository层泛型一直 and 与 or 就是创建的逻辑 ‘与’、‘或’ 对象,表示构建的条件对象为逻辑 ‘与’、‘或’ 关系 Specification<Object>原创 2021-10-11 18:31:59 · 677 阅读 · 0 评论 -
Utils-IPUtil 处理ip聚、拆、起、终、区间计算等工具类
处理ip聚、拆、起、终、区间计算等工具类 maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.70</version> </dependency> <dependency> <groupI原创 2021-07-26 16:45:16 · 302 阅读 · 0 评论 -
Linux (CentOS)配置 java环境
Linux (CentOS)配置 java环境下载安装包:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html上传到linux环境,然后解压 解压:tar -zxvf jdk-8u301-linux-x64.tar.gz 配置环境变量: 编辑环境变量:vim /etc/profile,编辑完成后 :wq保存 加载环境变量文件:source /etc...原创 2021-07-22 22:46:12 · 301 阅读 · 0 评论 -
Java-很深我只知其一-BufferedImage对象绘制图片(P图)
BufferedImage对象绘制图片(P图)maven依赖<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version></dependency>图片中加入简单的文字 String result; try {原创 2020-12-16 11:38:27 · 1039 阅读 · 0 评论 -
Java获取真实访问IP
Java获取真实访问IPpublic String getIpByRequest(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { // 多次反向代理后会有多个i原创 2020-05-28 09:53:51 · 332 阅读 · 0 评论 -
Java-下载文件,文件名乱码问题
Java-下载文件,文件名乱码问题方法一 获取浏览器,配置编码格式String fileName = LocalDate.now().toString()+"自查排名表格.xls"; try { HttpHeaders headers = new HttpHeaders(); String userAgent = request.getHeader( "User-Agent" );//获取浏览器 if (us.原创 2020-05-21 11:21:56 · 1910 阅读 · 0 评论 -
Utils-Redis工具类
Maven依赖:<!-- redis --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>...原创 2019-05-22 17:59:07 · 158 阅读 · 0 评论 -
Utils-MapUtil map与实体类转换工具类
package com.utils;import org.apache.commons.beanutils.PropertyUtils;import org.apache.commons.collections4.MapUtils;import org.apache.commons.lang3.math.NumberUtils;import org.apache.commons.lo...原创 2019-05-29 10:57:03 · 2049 阅读 · 0 评论 -
Utils-把Controller 方法参数直接封装成Map
把Controller方法参数直接封装成Map最好把其封装成基类Controller ,继承使用更舒适protected Map<String, String> initRequestParams(HttpServletRequest request) throws Exception { Map<String, String> paramMap...原创 2019-04-18 09:50:08 · 846 阅读 · 0 评论 -
request 获取 JSON 数据流
request.getInputStream() 获取 JSON 数据流JSONObject jsonObject = null; try { BufferedReader streamReader = new BufferedReader( new InputStreamReader( request.getInputStream(), "UTF-8" ) ); Stri...原创 2019-07-08 17:31:08 · 4991 阅读 · 0 评论 -
map合并
map合并两个map没有相投的Key;HashMap<String, Object> map1 = new HashMap<>(); map1.put( "a", 3); map1.put( "s", 3); map1.put( "d", 3); map1.put( "f", 3); ...原创 2019-07-04 09:03:20 · 211 阅读 · 0 评论 -
SpringBoot+RabbitMQ整合(附工具类demo),订阅,广播,组播,模糊播
SpringBoot+RabbitMQ整合(附工具类demo)direct(订阅,直连)直连模式 一对一的绑定关系, Routing key(路由关键字)和Binding key只有完全匹配,才能消费成功。 fanout (广播)发送到该交换机的所有信息都将转发到与该exchange绑定的queue中。 topic (模糊播,组播) 在exchange中routing key 和b...原创 2019-07-19 16:09:33 · 2340 阅读 · 3 评论 -
Utils-ZipUtil- (zip压缩打包)工具类
Utils-ZipUtil- (zip压缩打包)工具类工具类package com.common.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInp...原创 2019-07-17 11:58:30 · 797 阅读 · 0 评论 -
SpringBoot + Quartz(定时框架) + Jpa 整合
SpringBoot + Quartz(定时框架) + Jpa 整合maven依赖<!-- 定时任务 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</a...原创 2019-07-31 18:29:41 · 2293 阅读 · 0 评论 -
FileUtils工具类(byte[] 与File互转 文件夹清空 获取文件名)
FileUtils工具类(byte[] 与File互转 文件夹清空 获取文件名)package com.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.util.zip.CRC32;import java.util.zip.CheckedOutpu...原创 2019-08-19 16:40:19 · 4191 阅读 · 0 评论 -
FastDFS工具类
fastDFS工具类maven依赖<!--fastDFS--><dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.6</ver...原创 2019-08-19 16:59:55 · 657 阅读 · 0 评论 -
SpringBoot 整合 FastDFS 预防tmp系统文件找不到 MultipartFile 对象丢失
SpringBoot 整合 FastDFS 预防tmp系统文件找不到 MultipartFile 对象丢失mavne依赖这里用的是SpringBoot 2.0.6.RELEASE选版本时一定要与其匹配<!--fastDFS--><dependency> <groupId>com.github.tobato</groupId> ...原创 2019-08-19 17:03:15 · 855 阅读 · 0 评论 -
comet4j 推送技术
java 使用 comet4j 主动向客户端推送信息【背景】 才来公司不久,让我独立开发站内信,站内邮件,以及文件传输功能;在自己认知的java技术中筛选,又一次死了不少脑细胞,刷新实现,MQ实现,推送实现,只是粗略的概念化,和思想懂,时限性最好的当然要属comet4j;决定耐心认真滴研究一次comet4j; 关于comet技术介绍及其实现原理,可以参考网站 http://www.ibm.co...原创 2018-07-10 17:35:56 · 1373 阅读 · 0 评论 -
Utils-HttpsClientUtil
一、http封装工具类 忽略证书https请求 支持rest风格请求与传参 支持header请求头封装 支持Query与HttpEntity传参 maven依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.9</ver原创 2019-05-14 19:15:05 · 635 阅读 · 0 评论 -
Utils-FreeMarker 工具类
FreeMarker 工具类maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>...原创 2019-06-20 19:28:28 · 1324 阅读 · 0 评论 -
Java-IDEA&SVN独立(传统)项目整合启动-包含Java:非法字符 /65279 错误处理
SVN 项目检出输入SVN地址,需要验证身份的,需要填写用户和密码 , 这里已经登陆选中,检出检出成功IDEA 准备工作 配置 jdk 发版号 编译后存储位置 ,存储位置 会自动生成编译不通过的 删除 添加Library 添加 web 入口 更改web入口 ,找到你真实的入口 这里在webRoot下...原创 2018-10-26 11:28:26 · 505 阅读 · 0 评论 -
Java 反射(基础)
一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.例如:一个类有:成...原创 2018-09-05 11:42:12 · 160 阅读 · 0 评论 -
Freemarker 转 WORD 输出并下载
1.WordUtils.javaimport java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStreamWriter;impor...原创 2018-08-31 09:50:43 · 2143 阅读 · 0 评论 -
Java-多文件上传
1.Http请求1:enctype="multipart/form-data" 开启文件上传属性,必须设置2:method="post" 提交方式必须改3:<input type="file" multiple="multiple" /> multiple 属性开启多文件上传,按住Shift 可以多选上代码: jsp ...原创 2018-07-18 16:34:46 · 489 阅读 · 0 评论 -
Java-JSONObjectA和JSONArray
JSONObject与JSONArray的使用一、JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5...转载 2018-06-07 17:25:36 · 142 阅读 · 0 评论 -
Java-isEmpty运用技巧
java String isEmpty() 判断字符串是否为空还是0?翻一下JDK的实现就会知道:其实isEmpty完全等同于string.length()==0如果String本身是null,那么使用string.isEmpty()会报空指针异常(NullPointerException)判断一个String为空的最安全的方法,还是 string ==null || string.isEmpty...原创 2018-06-06 10:07:53 · 6065 阅读 · 0 评论 -
Java-Interface<T>泛型接口初理解
泛型接口:提高安全性;方便转型一背景 以下是本人在百度知道看到的关于泛型接口的一个回答,地址是:http://zhidao.baidu.com/question/195124074.html 现在我刚刚接触泛型接口。有点不理解。所以百度了一下,看到了这个会回答。 我打算写下我的理解(先说明我刚刚接触泛型接口,所以我下面先展示原文,再写下我的理解,只供参考,我关于它我有更新的认识会更新)二原文 以下...原创 2018-06-06 10:46:03 · 9294 阅读 · 2 评论 -
Java-null(对空值得处理)
判断的时候最好把null值或者确定(固定)的值放在左侧,作为判断条件优先加载,底层优化null或空值的判断处理-java 1,错误用法一:if (name == "") {//do something}2,错误用法二:if (name.equals("")) {//do something}3,错误用法三:if (!name.equals("")) {//do something}我们来解说一下:...原创 2018-06-06 14:04:50 · 4006 阅读 · 0 评论 -
Java-很深我只知其一-Calendar类
Calendar类一般用其获取时间,和设定时间使用,不仅如此,还可以区分东西方星期 首先Calendar类继承了Objectimplements,Serializable,Cloneable,Comparable<Calendar> 同时Calendar 是被 public 和 abstract 修饰的 所以,我们不能直接通过new 获取实例对象 需要通过其子类获取实例对象 :...原创 2018-10-26 17:29:40 · 119 阅读 · 0 评论 -
Java-很深我只知其一-URLDecoder类与URLEncoder类
这两个类 , 方法很少,方法都是静态方法, 可以直接调用 , 一般我们只用于字符格式处理 之前jdk1.4版本以前decode,encode方法只有一个参数,生成的格式是借助于平台,可移植性特别低,经常出现编码格式无法识别,或者识别不正确,导致最终结果出错,不是我们想要的结果 jdk1.4以后对其进行了改动行升级,可以传两个参数,第二个参数指定编码格式String str = ""...原创 2018-10-30 11:59:38 · 190 阅读 · 0 评论 -
Java-很深我只知其一-路径获取/处理
Java-很深我只知其一-路径获取/处理request对象获取发布容器的跟路径 括号内可以指定具体包名,获取路径以包名为单位request.getSession().getServletContext().getRealPath("/") 获取以该类为基准的绝对路径,可以循环/截取保留自己所需要的部分 当前类.class.getResource( "/" ).toURI...原创 2018-11-15 16:06:27 · 287 阅读 · 0 评论 -
ThymeleafUtil - 文件生成 Utils-ThymeleafUtil - 工具类
ThymeleafUtil - 工具类maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId&g...原创 2019-06-21 19:36:53 · 2147 阅读 · 0 评论 -
Java - byte[]流实现上传下载(上传byte[]至关系型数据库,下载byte[]流,返回下载链接)
Java - byte[]流实现上传下载(上传byte[]至关系型数据库,下载byte[]流,返回下载链接)返回 ResponseEntity<byte[]>实现下载public ResponseEntity<byte[]> createReportTwo(//返回 ResponseEntity<byte[]> HttpSe...原创 2019-06-19 16:50:40 · 3904 阅读 · 0 评论 -
Utils-verifyType 验证数据类型,是否允许转型
Utils-verifyType 验证数据类型,是否允许转型package com.utils;import java.text.SimpleDateFormat;import java.util.*;import com.exception.ExceptionEnum;import com.exception.MyException;import javafx.beans.b...原创 2019-05-16 16:37:50 · 388 阅读 · 0 评论 -
Java-很深我只知其一-entity继承Comparable重写compareTo实现排序
Java-很深我只知其一-entity继承Comparable重写compareTo实现排序实体类排序compareTo方法返回值int,其实int足以,其底层只识别正数和负数和零; 做出参数和原对象比较,参数比原值大返回正数,参数比原值小返回负数,零什么也不做,这样是正常排序,也就是升序,返回值相反,则是降序; 重写compareTo方法之后,调用; Collections....原创 2019-05-15 12:01:41 · 850 阅读 · 0 评论 -
Map Map.getOrDefault()方法
default V getOrDefault(Object key, V defaultValue) {V v;return (((v = get(key)) != null) || containsKey(key))? v: defaultValue;}这是源码,意思就是当Map集合中有这个ke...转载 2019-04-18 08:53:43 · 1799 阅读 · 0 评论 -
Java-Thread(继承接口类,开启线程)
Java-Thread(继承接口类,开启线程)开启一个新的线程; 一个线程,去做耗时可能比较长的事情; 另一个线程正常执行,不影响程序的正常运行; 保证不会出现卡顿,只需等待问题; 参数的注入线程方法属性,成员变量注入这里用了三总方法,1:构造方法注入;2:set注入;3:final 常量注入 这里定义了一个成员变量;private String s ;构造方法注入...原创 2018-12-10 17:19:30 · 208 阅读 · 0 评论