![](https://img-blog.csdnimg.cn/20190828183845818.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
J2EE
文章平均质量分 81
Java相关技术
LitongZero
哪怕命运即为必然,也要拼命相抗
展开
-
基于已有项目,快速创建项目模板
基于已有项目,快速创建项目模板mvn Archetype的妙用背景在开发过程中,尤其是使用Maven作为包管理工具时,在创建新模块时,总会有些头疼。常见场景从网上下载下来的开源项目(或者公司的大型项目),需要新建一个模块或系统,而这个开源项目,可能层次非常多。这时手动创建就很有可能产生错误。而Maven依赖等错误,有时候会非常隐蔽,不容易发现。一.选定原始模型这里以一个demo为例。此demo层层嵌套(阿里Cola4.0的demo)。如果创建一个新的领域模块,要创建6个模块,这是非常危险的原创 2021-02-26 18:11:01 · 653 阅读 · 1 评论 -
Redis 实现单位时间内限制频率功能
Redis 实现单位时间内限制频率功能1.使用场景1.重要日志每小时触发次数。2.限制登录次数。3.分布式部署情况下的上述情况…2.代码示例中为限制1小时内15次。/** * 每个人每小时限制触发次数 */private final int LOCK_TIMES = 15;// 自定义KeyString key = "Ltz:" + sid;// 获取已触发次数String sendUser = redisTemplate.opsForValue().get(key);原创 2020-08-16 22:51:58 · 982 阅读 · 0 评论 -
加密解密篇
前后端加密解密。前端AES加密,前端RSA加密。后端AES加密,后端RSA加密。非对称加密,对称加密,摘要加密。原创 2020-05-12 11:12:14 · 733 阅读 · 2 评论 -
使用Lambda统计List嵌套数据
使用Lambda统计List嵌套数据场景之前碰到过这样一种场景,有如下数据(JSON或List对象){ "dataList": [{ "userInfoList": [{ "id": 1, "idNumber": "1" }, { "id": 2, "idNumber": "2" }] }, { "userInfoList": [{ "i...原创 2020-05-06 13:54:41 · 2772 阅读 · 0 评论 -
BigDecimal类型转化为万或亿为结尾
BigDecimal类型 自动转化单位(万\亿)工具类import java.math.BigDecimal;/** * @author litong */public class NumberUtil { private static final String UNIT_STRING_WAN = "万"; private static final String UNIT...原创 2020-02-06 23:53:21 · 4105 阅读 · 2 评论 -
Java8 Lambda 使用总结
一、演示示例1.遍历List<Integer> integerList = new ArrayList<>();integerList.add(1);integerList.add(2);integerList.add(3);integerList.stream().forEach(integer -> { System.out.println(inte...原创 2020-01-21 13:18:14 · 801 阅读 · 0 评论 -
自己实现注解式权限校验(SpringBoot)
权限校验(SpringBoot注解式)权限校验是很多情况都会用到的,结合Java注解和拦截器,直接在Controller层的方法上添加一个注解,可以无侵入式的进行权限校验。一.Java注解1.RequestMapping我们打开一个最常用的Spring注解可以看到,RequestMapping注解上,还有几个注解,分别代表①Target:注解目标(如:可以在方法、类、参数中使用)...原创 2019-12-20 10:47:29 · 4228 阅读 · 2 评论 -
Java 异常 自定义打印内容
Java 异常 自定义打印内容背景:在开发中,我们可能会使用到自定义异常,但是,这个自定义异常在打印日志时,往往打印的内容比较多。1.自定义异常打印内容可以看到,虽然我们使用的是自定义异常,但是当抛出时,还是会打印出堆栈的全部信息。2.查看源码通过查看源码,我们可以得知,当抛出异常时,程序会调用此异常的fillInStackTrace方法,但是,大部分异常都没有对该方法做处理。基本...原创 2019-10-27 15:54:43 · 2100 阅读 · 1 评论 -
Java后端生成二维码,Base64后,前端直接使用
后端生成二维码,Base64后,前端直接使用开放中,可能会遇到生成二维码的时候,这个时候,可以前端生成,也可以后端生成。这时候,就可以看,把压力放在哪比较好。当二维码信息比较小,或者前端迭代比较困难的时候(APP发布),就可以选择后端生成二维码。二维码这种图片,一般比较小,可直接生成,要是再放到文件服务器,未免有些多余,不如直接返回给前端。但是,如果返回文件流的话,前后端都不太好操作...原创 2019-10-19 14:50:38 · 5979 阅读 · 5 评论 -
Java 中 JSON 去除指定字段(对象中,数组中,List中)
Java 中 JSON 去除指定字段(对象中,数组中,List中)原创 2019-09-02 13:56:54 · 16249 阅读 · 0 评论 -
Java 中 Switch 结合 枚举使用
Java 中 Switch 结合 枚举使用Switch和if是Java中常用的判断工具,而当出现大量的if-else时,我们不妨使用Switch和枚举来进行“优化”举个例子后端开发时,经常会碰到状态码判断的问题。如果我们用if来判断的话。可能会变成如下:if(code == 1){}else if(code == 2){}else if(code == 3){}但是如果使用S...原创 2019-08-28 19:07:07 · 1427 阅读 · 0 评论 -
RestTemplate 使用案例
RestTemplate 使用案例当我们使用SpringBoot原创 2019-08-21 11:13:07 · 767 阅读 · 0 评论 -
自己实现md5 加密算法
md5 加密算法1、背景在很多比较重要的环境,我们的前端在传输密码时,不能以明文的形式传递,所以需要用一些加密算法进行加密,进而传输,且前后端的加密方式相同。2、前端方法function md5(string) { function md5_RotateLeft(lValue, iShiftBits) { return (lValue << iShi...原创 2019-05-05 17:20:55 · 639 阅读 · 0 评论 -
一个FastDFS整合Java的坑
一个FastDFS整合Java的坑背景本篇博客的主要目的,就是记录一个有关FastDFS整合Spring(Java)时的坑事发环境1、FastDFS 5.08安装成功,服务器端测试没问题测试命令 fdfs_test /etc/fdfs/client.conf upload /usr/local/tools/a.jpg 结果2、FastDFS整合Nginx完毕Ngin...原创 2019-03-20 19:00:42 · 968 阅读 · 6 评论 -
SpringBoot2.0 整合 Redis
SpringBoot2.0 整合 Redis文章目录SpringBoot2.0 整合 Redis1.背景本文就不说Redis的好处了。2.环境①`SpringBoot`:2.1.0.RELEASE3.引入依赖版本就不用加了,直接继承使用SpringBoot父工程的版本号4.新建`配置类``RedisConfig.java`5.新建RedisService`RedisService.java`6....原创 2019-03-06 22:18:14 · 1023 阅读 · 3 评论 -
省去Set、Get方法
在IDEA中,可以通过安装 lombok-plugin-0.19-2018.1 插件,来省去经常要写的Set、Get方法。离线安装插件下载地址http://plugins.jetbrains.com/plugin/6317-lombok-plugin 安装方法:可以参考(离线安装、在线安装)https://blog.csdn.net/LitongZero/article/...原创 2018-09-20 10:50:59 · 542 阅读 · 0 评论 -
Mybatis list 添加 一个list元素中的条件
今天在写项目的时候,遇到一个问题,关于mybatis的问题。在select的时候,如果传入的参数是一个list,这时,我们需要用到WHEREt.id in (<foreach collection="list" index="index" item="item" separator="," > #{item.id}</foreach>class St原创 2018-10-31 11:23:59 · 2116 阅读 · 0 评论 -
Mybatis 动态排序 #{} ${}问题
Mybatis 动态排序 #{} ${}问题在写Mybatis动态排序是遇到一个问题,开始,我是这样写的<if test="orderField !=null and orderField != '' "> order by t.#{orderField} #{orderType}</if>发现报错,后来经过查阅资料发现,用#{}会多个' '导致SQL语...原创 2018-11-05 17:33:40 · 4173 阅读 · 0 评论 -
Mybatis实现 动态排序
Mybatis实现 动态排序在数据展示时,很有可能碰到,需要动态排序的需求。当数据比较少的时候,还可以前端排序,但是,当数据非常大,尤其是涉及到分页的时候,就必须要用后端解决了。以下,提供一种后端动态排序解决方案。比如,现在我要查询用户信息(User)表。可以在查询时,接口中,多添加两个字段。orderField(排序列)orderType(排序规则,升降序)之后,在mapper...原创 2018-11-05 17:56:01 · 27132 阅读 · 2 评论 -
SpringBoot 添加单元测试
SpringBoot 添加单元测试1、添加Maven依赖&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-test&原创 2018-11-16 09:25:10 · 3586 阅读 · 0 评论 -
SpringBoot 使用Swagger2
SpringBoot 使用Swagger2Swagger2是一个非常好用的接口测试插件。类似于POSTMAN,但是Swagger2是集成在项目中的,在开发接口时,很方便对接口进行测试。1、引入Maven依赖&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;io.springfox&amp;lt;/groupId&amp;gt;原创 2018-11-16 10:01:03 · 411 阅读 · 0 评论 -
Mybatis 返回List嵌套
Mybatis 返回List嵌套应用场景:例如:1.返回班级列表,每个班级中又包含学生列表。2.查询多层嵌套下拉框1、实体类public class Student { private int studentId; private String name; private String sex; private String number;}p...原创 2019-01-11 15:59:15 · 6336 阅读 · 1 评论 -
后端参数校验工具类
后端参数校验工具类1、应用场景1、Controller层判断传入参数是否符合规则,不符合规则直接返回错误状态码。2、其他需要校验参数的地方。2、工具类public class CheckUtil { /** * 中文,字母,数字 _ - . 30位 */ static String regexFNDT = "^[a-zA-Z0-9\\u4e00-\\u9...原创 2019-01-11 17:10:37 · 1545 阅读 · 0 评论 -
Controller校验文件类型(格式)
Controller校验文件类型(格式)应用场景1、后端接口需要检验文件类型。2、增加接口健壮性。解决方法在Controller层添加校验/** * 上传文件 * @param file * @return */@ApiOperation( value = "上传文件", notes = "file")@RequestMapping(value ="/upload/fi...原创 2019-01-25 17:51:44 · 1198 阅读 · 0 评论 -
SpringBoot2.0 添加Token、Redis
SpringBoot2.0 添加Token、Redis背景1.由于前后端分离式开发,以及安全性等等问题,使用Token来进行回话的认证,已经成为了一个非常常用的操作其他的优点啥的,我就不再赘述,本文主要考虑实现。1.开发环境①. SpringBoot 2.1.0②. jdk 1.8③. IDEA④. …2.引入jjwt依赖pom.xml&amp;amp;lt;dependency&amp;amp;gt;...原创 2019-03-05 13:03:13 · 2783 阅读 · 7 评论 -
Java 获取 副本文件名称
Java 获取 副本文件名称使用场景1.创建一个文件的副本,取文件名的问题。2.创建一个对象副本,但是名称不能重复,要加上某种特定字符(如:-副本1)编写工具类/*** 获取 副本文件名称* @param name 原文件名称* @return 新文件名称*/public static String getCopyNewName(String name) {// 自定义名...原创 2019-03-05 16:08:52 · 739 阅读 · 0 评论 -
SpringBoot2.0 跨域处理
SpringBoot2.0 跨域处理1.原因在前后端项目分离时,最先遇到的问题也许就是跨域。其他原因,不再赘述。2.环境①.spring-boot:2.1.0.RELEASE3.解决跨域的两种方式(本质一样)一、Application.java直接配置Bean@SpringBootApplicationpublic class Application { public st...原创 2019-03-06 21:54:51 · 2247 阅读 · 1 评论 -
SSM简易项目(增删改查)
本项目是一个Spring+SpringMVC+Mybatis+MySQL的一个小项目,项目只有简单的增删改查。前端用了JQuery和Boostrap(其实也没用啥)。纯粹是为了练习一下框架整合。版本:Spring(4.3.6)、SpringMVC(4.3.6)、Mybatis(3.4.2)、MySQL(5.7.0)虽然界面是食堂管理系统,但是,这都不是关键。。毕竟想改成啥就是啥。...原创 2018-07-29 11:58:53 · 21776 阅读 · 42 评论