![](https://img-blog.csdnimg.cn/20200514193829434.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
工具与技巧
文章平均质量分 67
工作上的一些常用技巧
意田天
一件事,做到极致,也算成功
展开
-
根据根节点和子节点构造树形结构
package com.cyc.basic.test.list;import com.alibaba.fastjson.JSON;import lombok.Data;import java.util.Arrays;import java.util.List;import java.util.Objects;import java.util.stream.Collectors;/** * @description: 遍历构造树形结构{根节点, 子节点} * @version 1.0原创 2022-03-14 14:45:32 · 5605 阅读 · 0 评论 -
替代if else 的方法---巧用枚举类和抽象方法
替代if else 的方法—巧用枚举类和抽象方法使用场景:当接收到一些数据需要对其进行处理时,由于它们来自于不同的渠道(如:腾讯,巨量),不同渠道所需的处理方式不同,下面来写一个简单Demo来展示。场景复现首先构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法。package com.cyc.basic.test.rule;public abstract class GeneralChannelRule {原创 2021-05-17 14:42:11 · 12338 阅读 · 3 评论 -
CheckStyle的配置使用以及maven整合CheckStyle
CheckStyle的使用以及开发规范1. 安装idea插件市场搜索checkStyle选择安装重启idea使插件生效2. 配置和使用本地导入: 一般放在父类根目录下中。cos导入:统一维护一份checkStyle文件,及时相应修改后的校验标准。**checkStyle文件已放在文件末尾2.1 配置打开idea设置界面 , 以此点击以下按钮选择本地的checkStyle文件导入成功,点击应用经测试,这里提供的最新版checkStyle文件原创 2021-04-12 13:47:26 · 13727 阅读 · 0 评论 -
JDK1.8的新特性
JDK1.8的新特性1. 前言2. Lambda表达式2.1 基本语法:2.2 用法示例示例1:多个参数示例2:单个参数实例3:把Lambda赋值给变量示例4:隐式final3. 函数式接口3.1 Function类型接口3.2 Consumer系列3.3 Predicate系列3.4 Supplier系列4. 方法引用4.1 语法:4.2 示例4.2.1 类的静态方法引用4.2.2 类的非静态方法引用4.2.3 指定实例的非静态方法引用4.2.4 构造函数引用5. 接口的默认方法和静态方法5.1 默认方法原创 2021-04-01 14:05:51 · 8393 阅读 · 1 评论 -
spring boot整合security后,swagger打不开, 显示请确保资源接口正确
1.检查swagger的jar包版本号如果springfox 2.5及以上,需要使用一下方式放行swagger/** * 配置无需登陆就可以访问的路径 * * @param web * @throws Exception */ @Override public void configure(WebSecurity web) throws Exception { //allow Swagger URL to be acc原创 2020-10-28 14:37:03 · 14299 阅读 · 0 评论 -
jdk1.8中LocalDate、LocalTime、LocalDateTime的使用
为什么建议使用你 LocalDateTime ,而不是 Date?理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗为什么需要LocalDate、LocalTime、LocalDateTime【java8新提供的类】java8新的时间API的使用方式,包括创建、格式化、解析、计算、修改为什么需要LocalDate、LocalTime、LocalDateTimeDate如果不格式化,打印出的日期可读性差Tue Sep 10 09:34:04 CST 2019使用Sim原创 2020-10-20 11:23:00 · 9868 阅读 · 0 评论 -
spring boot结合shiro实现用户-角色-权限的控制(包含用户名密码登陆和手机号验证码登陆)
spring boot整合shiro实现权限校验1.首先导入项目所需jar包 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> &原创 2020-08-31 14:48:50 · 12842 阅读 · 0 评论 -
将枚举类转化为map集合或者list集合
使用场景:有时候产品原型中查询列表是, 筛选条件中, 有条件下拉选, 但是条件不是很多, 也就几个, 这个时候可以使用数据字典或者枚举类, 我这里使用的枚举类转化为list集合, 来发送给前端@Getterpublic enum AdPositionEnum { CHANGE_SCREEN(1, "刷屏机首页轮播"), IPAD_LEFT_FIRST(2, "ipad优惠活动左一"), TV_LEFT_FIRST(3, "智能TV优惠活动左一"), WATER_BRA原创 2020-08-10 16:04:39 · 17181 阅读 · 0 评论 -
jenkins的安装和使用, rancher, influxDB, cAdvisor , Grafana的安装与使用,以及项目的持续集成与容器管理
持续集成与容器管理1 DockerMaven插件2 持续集成工具-Jenkins2.1 什么是持续集成2.2 Jenkins简介2.3 Jenkins安装2.3.1 JDK安装学习目标: 掌握DockerMaven插件的使用 掌握持续集成工具Jenkins的安装与使用 掌握容器管理工具Rancher的安装与使用 掌握时间序列数据库influxDB的安装与使用 掌握容器监控工具cAdvisor的安装与使用 掌握图表工具Grafana的使用1 DockerMaven插件微服务部署有两种方法:(1)手动部原创 2020-08-04 17:28:44 · 12497 阅读 · 0 评论 -
mybatis中orderBy(排序字段)和sort(排序方式)引起的bug
引言: 记录一个mybatis实现动态字段的排序和动态的升降序问题实现效果如下:1. 问题叙述:在这里无论使用postman是否传递sort的值, 都不生效,postman执行的sql日志==> Preparing: select sum(acd.read_view_count) as read_view_count,sum(acd.read_person_count) as read_person_count, sum(acd.like_count) as like_count,原创 2020-07-23 10:22:17 · 17391 阅读 · 8 评论 -
Java使用poi导出excel表格如何合并相同内容的行
记录一个开发过程中遇到的poi导出excel问题一般的poi导出格式为以下这种这种实现起来也简单, 只需要配置好格式, 写好标题, 将数据循环导出到excel就行了 , 可是下面这种就比较难搞了由于第一列需要根据日期合并行, 而且行数不是固定的, 是需要根据上面的筛选条件, 查询出来, 将结果按照日期分组合并, 所以左边第一列需要合并的行是灵活多变的, 不能简单按照合并列那样。下面是我的解决方案, 如有意见, 请多多指教这是数据库里的数据实现逻辑和代码1. 首先应该将数据按照日期排序,原创 2020-07-13 13:16:59 · 15182 阅读 · 0 评论 -
spring boot微服务项目中一个服务在多个端口号上运行
或者原创 2020-06-18 11:19:52 · 13565 阅读 · 0 评论 -
Java开发中常用日期工具(整合版)
开发中经常用到的日期工具类整合package com.etouch.utils;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.Simp原创 2020-06-01 14:25:17 · 12521 阅读 · 0 评论 -
阿里云存储的视频大小和图片大小进行尺寸截取
1. 阿里云视频截取1.1 根据时间截取在oss地址后加上 ?x-oss-process=video/snapshot,t_4000,f_jpg,w_240,h_135,m_fast其中t_4000表示截取的视频时间,截取4秒的画面, 单位为毫秒, w_240表示宽为240, h_135表示宽为135 if (videoAddress == null) { throw new ProjectExeption("500","视频地址为空"); }原创 2020-05-30 17:48:05 · 14985 阅读 · 0 评论 -
spring boot的热部署 devtools和jreble
目前常用到的是devtools和JRebel1. devtoolsspring boot自带devtools热部署, 可以很好的整合, 这也是微服务项目中最常用的热部署方式1.1 首先导入devtools的jar包<!--devtools热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactI原创 2020-05-30 14:35:40 · 12818 阅读 · 0 评论 -
nginx配置反向代理介绍
1 . 首先解压nginx的压缩包,解压出来的结果如下其中logs文件夹中存放的是nginx的运行日志, 重点关注error.log,这里记录着nginx运行的错误日志, 如遇到nignx启动闪退, 配置出错, 可通过查看这个错误日志记录, 进行精确定位出错的地方。2 . 打开conf文件中的nginx.conf文件, 开始如下配置,此处添加一段代码include vhost/*.conf; 意思为, 添加自定义配置文件, 自己配置, 比较灵活方便配置文件路径如下3 . 以下是具体配置文件原创 2020-05-22 14:54:24 · 12078 阅读 · 0 评论 -
idea中Springcloud同时运行多个模块、微服务
idea中有个窗口叫做 Run DashBoard 在这里可以管理多个模块的启停,这个面板一般情况下是关闭的打开Run DashBoard面板上图展示为idea多项目运行界面一般情况下, spring cloud项目,运行后,会自动出现这个界面,如果没有自动出来, 则进行以下操作1.在工程的.idea中找到workspace.xml,并找到RunDashboard<component name="RunDashboard"> <option name="ruleStates"&原创 2020-05-14 19:50:47 · 18396 阅读 · 0 评论