java
文章平均质量分 58
黑皮爱学习
这个作者很懒,什么都没留下…
展开
-
对gitlab项目分支管理设计、gitlab新建分支、gitlab合并分支操作总结
分支参考地址:【Git管理篇】GitLab 版本分支管理策略(二) - 煮酒论余生·g - 博客园常用分支 分支 说明 代码来源 代码输入方式 生命周期 命名规则★ ★master 线上发版主分支,每次发版要有洗的标签tag release、hotfix Pull request ...原创 2021-09-26 09:12:08 · 3747 阅读 · 0 评论 -
使用smart-doc自动生成接口文档,解放java开发者
1、接口文档面对的困境我工作几年,接口文档用过好几种方式了。从最开始的word文档,到后来的swagger和confluence编写接口文档,再到后来侵入性很小的jApiDoc,最后到现在的smart-doc工具。对比下他们的优缺点:方式 好处 缺点 word文档和confluence 有文档留存(好像也不算好处) 费时费力、多人编写不便 swagger 1、不用专门写文档 2、通过连接直接访问 3、在线测试,有点像简化的postma原创 2021-08-03 22:07:47 · 4290 阅读 · 3 评论 -
从JDK动态代理到CGLIB动态代理、到自定义实现动态代理、到放弃
注:部分代码来自于享学课堂,有自己的理解修改目录注:部分代码来自于享学课堂,有自己的理解修改1、JDK动态代理demo首先是奥特曼接口接着是赛文奥特曼雷欧奥特曼,不是来自M78星云,不用实现AoTeMan接口怪兽来了,奥特曼出动打怪兽执行结果2、执行原理图解拉取动态生成对象内容如下:我们再看看super.h.invoke(this, m3, (Object[])null);问题:3、使用cglib实现动态代理引入maven产生代理的工厂原.原创 2021-07-31 20:22:48 · 1404 阅读 · 0 评论 -
配置@Scheduled为多线程执行
目录1、单线程执行2、多线程执行配置线程池1、单线程执行不做普通配置,只是@EnableScheduling和@Scheduled组合,是单线程串行执行@EnableSchedulingpublic class TaskConfig { @Scheduled(cron = "0/5 * * * * ?") public void getTask() { System.out.println("开始执行); }}2、多线程执行配置线原创 2021-05-26 09:43:12 · 1997 阅读 · 0 评论 -
springboot的maven配置profiles打包,自己选择dev配置还是prod配置,以及打包完整指令
需求说明:由于springboot的yml有多个配合,常见的就有application-dev.yml,application-test.yml,application-prod.yml,当然我们可以修改application.yml中的active:dev来修改,但是在使用jenkins发版,打包的时候,总是要修改配置文件,很是繁琐,所以改为通过配置maven的profiles,使用maven打包区分不同的环境...原创 2021-03-19 15:43:23 · 5429 阅读 · 0 评论 -
快速记住stringbuffer和stringbuilder的区别
StringBuffer线程安全快速记忆StringBuffer中有ff字母,联想到safe(安全的),这样记忆一下子就清晰了原创 2021-03-02 20:48:50 · 280 阅读 · 0 评论 -
java的springboot项目操作阿里云OSS下载文件、查看文件内容、上传文件,自定义工具类
因为要从oss下载、查看、上传工具类,所以对这几个方法做了一个封装,已经经过测试,可以直接使用1、yml添加上阿里云配置oss: region: xxx accessKeyId: xxxxx accessKeySecret: xxxxx bucket: xxxxx objectName: xxx/xxx/2、工具类代码package com.fj.utils;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSC原创 2021-02-20 18:44:53 · 1814 阅读 · 2 评论 -
could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarExcept
完整报错如下org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.springframework.orm.jpa.vendor.HibernateJ原创 2021-01-13 14:19:50 · 15960 阅读 · 2 评论 -
json数组分成两份二进制发送,我接受之后通过new两个String报乱码问题原因解析
底层json由于很长,所以分成多次发送,我每次接受到一部分就new String(),最后再把多个String拼接成一个json数组,刚开始系统运行良好,后来莫名其妙就会出现乱码,最后发现是new String()出现的问题,这里做一个模拟;1、json数组{ "a": "我们来自不同的世界"}2、解析通过toBytes之后的数组String a1 = "{\n" + " \"a\": \"我们来自不同的世界\"\n" +原创 2020-11-18 11:03:34 · 359 阅读 · 0 评论 -
java把byte[]数组以16进制输出工具类
public class BytesPrintUtil { public static final char[] HEXDIGITS = "0123456789abcdef".toCharArray(); public static String toHexString(byte[] bytes) { StringBuilder sb = new StringBuilder(bytes.length * 3); sb.append("["); .原创 2020-11-05 16:20:48 · 1149 阅读 · 0 评论 -
输入date时间判断年纪有多少周,计算周龄
public class Date2WeekUntil { public static String Date2Week(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String format = sdf.format(date); int year = compareTime(format); int days = differen.原创 2020-08-28 10:14:50 · 239 阅读 · 0 评论 -
SourceTree拉取代码和自己本地代码冲突解决方案,git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin解决
目录拉取代码报错解决方案理解解决过程1、先把代码存到暂存区2、点击储藏,并输入储藏名字3、拉取最新代码4、应用储藏区5、修改冲突代码6、提交代码拉取代码报错文字如下git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origingit -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit.原创 2020-07-23 16:12:48 · 7790 阅读 · 0 评论 -
两个相似对象之间属性赋值BeanUtils.copyProperties(源对象,目标对象)
两个相似对象之间属性赋值,使用BeanUtils.copyProperties(源对象,目标对象)比如person对象属性都有值,personVo对象很多字段是和person相似,便面使用大量get/set赋值,就是用BeanUtils.copyProperties(源对象,目标对象)...原创 2020-07-22 16:33:59 · 1159 阅读 · 0 评论 -
使用Random的nextInt()生成[0,100),[1,100]随机数
使用Random的nextInt()生成[0,100),[1,100]随机数public class TestRandom { public static void main(String[] args) { Random random = new Random(); float b = new Random().nextFloat(); for (int i = 0; i < 100; i++) { //[0,10原创 2020-07-13 23:27:45 · 4406 阅读 · 0 评论 -
使用Random生成随机的float
使用Random生成随机的float,范围[0,1)float b = new Random().nextFloat();测试用例public class TestRandom { public static void main(String[] args) { Random random = new Random(); for (int i = 0; i < 100; i++) { System.out.println(原创 2020-07-13 23:17:48 · 3884 阅读 · 0 评论 -
java的Random类生成随机的boolean
使用Random生成随机的booleanboolean b = new Random().nextBoolean();测试用例public class TestRandom { public static void main(String[] args) { Random random = new Random(); for (int i = 0; i < 100; i++) { System.out.println(ra原创 2020-07-13 23:17:06 · 3145 阅读 · 0 评论 -
java的Random类生成随机的double范围【0,1)Math.random()生成0到100之间的数【0-100)【1-100】
使用Random生成随机的double,范围【0,1)double b = new Random().nextDouble();测试用例public class TestRandom { public static void main(String[] args) { Random random = new Random(); for (int i = 0; i < 100; i++) { System.out.print原创 2020-07-13 23:13:03 · 8145 阅读 · 2 评论 -
TreeSet的使用方法总结、实现原理、使用示例
HashMap的使用方法总结、实现原理、使用示例原创 2020-07-02 23:11:18 · 21448 阅读 · 2 评论 -
管理系统菜单父子结构,有parentId,快速获取结构树代码
实体package com.fj.vo;import com.fasterxml.jackson.annotation.JsonFormat;import lombok.Data;import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;import java.util.List;/*** @author honry.guan* @created Create Time...原创 2020-07-01 21:10:52 · 1272 阅读 · 0 评论 -
mybatis-generator生成的Example无法实现复杂关联查询时,可以使用@select查询示例
211原创 2020-06-30 09:48:11 · 1566 阅读 · 1 评论 -
Collections的使用方法总结、实现原理、使用示例
HashMap的使用方法总结、实现原理、使用示例原创 2020-06-29 20:51:24 · 1898 阅读 · 0 评论 -
Arrays的使用方法总结、实现原理、使用示例
CollectionUtils、ListUtils、SetUtils、MapUtils原创 2020-06-28 17:01:08 · 584 阅读 · 0 评论 -
HashSet的使用方法总结、实现原理、使用示例
HashMap的使用方法总结、实现原理、使用示例原创 2020-06-28 14:25:54 · 4171 阅读 · 0 评论 -
HashMap的使用方法总结、实现原理、使用示例
HashMap的使用方法总结、实现原理、使用示例原创 2020-06-28 12:42:19 · 1060 阅读 · 0 评论 -
ArrayList简单使用方法总结
数据结构:底层就是数组存储特点,有序可重复public class Test{ public static void main(String[] args) { List<Integer> list = new ArrayList(); list.add(1); list.add(2); list.add(3); list.add(1); System.out.println(l原创 2020-06-27 12:52:02 · 1320 阅读 · 0 评论 -
java访问控制修饰符完整总结,实例分析
java中有四种访问控制修饰符权限private:在当前对象中可以使用,修饰变量和方法default:(默认,什么都不写)在同一个包可以使用,修饰变量、方法protected:对同一个包内的类和所有子类能使用。修饰:变量、方法public:对所有类可以使用,修饰类、接口(默认)、变量、方法访问控制权限如下:修饰符 当前类 同一个包 同一个包(子孙类) 不同包(子孙类) 其他包 private Y Y Y Y Y de原创 2020-06-26 23:20:50 · 822 阅读 · 1 评论 -
JApiDocs 生成父子菜单结构
目录默认的接口文档是只有一级菜单下面是通过修改之后的多级菜单,和正式的界面一样,方便查询修改方法1、在controller上加上注释前缀:服务:2、从源码中找到以下三个文件,放到/resources文件下面修改api-controller.html.ftl文件修改api-index.html.ftl文件修改css文件:修改主函数:以下是完整代码:api-index.html.ftlapi-controller.html.ftlstyle.css..原创 2020-06-24 18:28:54 · 1390 阅读 · 3 评论 -
使用mybatis-generator生成的Example,快速分页查询模板代码
controller接口/** * 分页列表查询 * * @param pageNum 页号 * @param pageSize 页面大小 * @param sortType 排序 * @return BaseResult */@GetMapping(value = "/getCustomerByPage")public BaseResult getCustomerByPage(@RequestParam("pageNum") Integer pageNum, @RequestPa原创 2020-06-22 19:49:06 · 2097 阅读 · 1 评论 -
通过修改注册表,增加jdk环境变量
由于公司加密软件的影响,我的电脑菜单中无法找到我的属性-环境变量,所以自己能手动修改注册表第一步:Windows+R,输入regedit打开注册表第二步:找到这个路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment接下来就是普通的新增JAVA_HOME,配置path修改path...原创 2020-06-22 19:39:58 · 1164 阅读 · 0 评论 -
JApiDocs 无需额外注解的 SpringBoot API文档生成工具踩过的坑,解放接口文档的编写
被写接口文档难受了好久,突然看到JApiDocs 的介绍,突然来了希望,通过看文档自己使用之后,把踩过的坑记录下来生成的接口文档页面展示:(示例路径http://oss.agilestudio.cn/apidocs/V2.0/controller_BookController.html#getBookDetail)官方说明文档:https://japidocs.agilestudio.cn/#/zh-cn/?id=apidoc快速使用导包<dependency>原创 2020-06-17 12:25:31 · 4804 阅读 · 10 评论 -
springboot接口全局时间格式化配置
为了让对象返回正确的格式,我们经常会使用这样的方式,但是在每个时间地方都要写上,比较麻烦,有很多重复代码@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")在yml文件中加上如下配置,就能够全局生效s...原创 2020-04-23 11:39:59 · 582 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects<de...原创 2020-04-05 21:33:23 · 2595 阅读 · 1 评论 -
java字符串ids转换为List,list转Stirng
List<Integer> idList = Arrays.stream(ids.split(",")).map(Integer::valueOf).collect(Collectors.toList());原创 2020-02-07 16:46:40 · 3234 阅读 · 0 评论 -
使用Hutool导出excel
添加pom<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.7</version> <...原创 2020-06-12 12:10:28 · 6517 阅读 · 4 评论 -
springSecurity实现图象验证码功能
1、根据随机数生成图片ImageCode.java生成图形验证码package com.imooc.security.core.validate.code;import java.awt.image.BufferedImage;import java.time.LocalDateTime;public class ImageCode { private Buffered...原创 2019-12-08 17:10:26 · 187 阅读 · 0 评论 -
安装好jdk,配置好环境变量之后,在cmd的java -version还是不行的一种可能解决方案
安装好jdk,配置好环境变量之后,在cmd的java -version还是不行的一种可能解决方案我是先打开cmd,然后安装好jdk,配置好环境变量,再在以前打开的cmd中输入java -version,显示没有安装成功;这个时候,关掉这个cmd,再重新打开一个新的cmd,再次操作java -version就没问题了。因为粗心,被这个坑了一次,特此记录!...原创 2019-12-04 15:41:49 · 4202 阅读 · 0 评论 -
javafx在不同的fxml文件加载时,传递参数
在加载新的fxml时,如何把当前的controller的参数传递过去,这里是我找到的原文链接https://stackoverflow.com/questions/14187963/passing-parameters-javafx-fxml由于都是英文,这里少做整理@FXMLprivate HBox main;//界面切换的容器public void show(Cust...原创 2019-11-27 16:31:32 · 1137 阅读 · 0 评论 -
文件下载后台java代码,前后端代码完整版,兼容ie文件下载,且ie下载时页面不会跳转
前端代码第一步:在jsp对应的地方加上下面的代码<iframe style="display: none;" id="download_iframe"></iframe> 第二步:定义点击事件下载文件<a id="attachFile" onclick="downLoad('http://downloadFile?fileId=fastuser/.原创 2018-12-19 21:21:52 · 2472 阅读 · 1 评论 -
java后台导出excel表格的两种方法
引入的jar包<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.11-beta2</version></dependency><depe...原创 2018-12-19 21:38:40 · 5655 阅读 · 1 评论 -
后台java导入excel到数据库代码
import org.apache.commons.io.FileUtils;import org.apache.commons.lang3.StringUtils;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apac...原创 2018-12-19 21:47:51 · 1022 阅读 · 0 评论