Java
Java
写....写个大西瓜
lahee~~~
展开
-
整合了大部分常用的加密/解密工具的框架【encryption-tool】
RSA、SHA-1、SHA-256、SHA-512、ECC、MD5、BCrypt、AES原创 2024-02-18 15:27:49 · 662 阅读 · 2 评论 -
TS-JOB 调度工具
一个轻量级的调度工具,自带简易页面,配置方便。可以动态配置调度频率,随时启动、关闭调度,并记录执行状态。原创 2023-05-18 14:23:21 · 254 阅读 · 0 评论 -
[JAVA] RSA非对称加密 & BCript加密校验 & 生成随机密码 工具类
[JAVA]RSA非对称加密&BCript加密校验&生成随机密码工具类。原创 2022-07-18 16:18:51 · 644 阅读 · 0 评论 -
springboot项目中mapstruct简单使用(gradle、maven)
mapstruct java springboot gradle maven2、创建convert接口 (具体在注释里)3、使用, END原创 2022-06-08 11:47:23 · 1349 阅读 · 0 评论 -
基于SpringBoot,Spring Cloud的微服务框架,整合Gateway、Config、Ribbon、Hystrix、Eureka、OpenFeign
基于SpringBoot,Spring Cloud的微服务框架,整合Gateway、Config、Ribbon、Hystrix、Eureka、OpenFeignGitHub路径:https://github.com/wuyue930912/cloud-pet-hub.gitCoding路径:https://e.coding.net/pethub/hub/pet-hub.git原创 2021-12-01 11:17:01 · 2609 阅读 · 7 评论 -
WAF架构设想
WAF架构设想1、网络入口处通过ip route做负载均衡,将流量分发到四张物理网卡。2、另外四张BYPASS网卡组成透明网桥,连接hub与被防护站点。3、流量进入通过通过iptables将流量转到NGINX。4、WAF网关(SPRINGBOOT)通过docker部署,NGINX将流量负载到4个服务上。5、WAF网关(WAF-RULES)校验流量是否有攻击行为。6、KAFKA...原创 2021-11-05 15:28:15 · 3789 阅读 · 1 评论 -
JAVA YML/YAML转JSON格式
JAVA YML/YAML转JSON格式1、引入依赖<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version></dependency>2、转换方法原创 2021-09-15 11:32:13 · 2074 阅读 · 0 评论 -
Redis集群搭建(单机环境),Springboot 2.x 集成 Redis 集群
Springboot 2.x 集成 Redis 集群1、Redis集群搭建(单机)1、创建文件夹2、进入env目录执行echo -e "port 7001\ncluster-enabled yes\ndir /data/tfd/7001\ncluster-config-file nodes-7001.conf\npidfile "/data/tfd/7001/redis-7001.pid"\nlogfile "/data/tfd/7001/redis-7001.log"\nappendonly原创 2021-06-30 18:18:28 · 1438 阅读 · 1 评论 -
java.lang.IllegalArgumentException: Comparison method violates its general contract
异常原因:Comparable接口缺少了count相等的情况修改为原创 2021-05-18 10:36:19 · 3230 阅读 · 0 评论 -
SpringBoot集成SpringBootAdmin
SpringBoot集成SpringBootAdminSpringboot版本2.2.7.RELEASE1、server1、创建一个Springboot应用2、引入依赖 <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.2.4原创 2021-04-30 15:51:12 · 3957 阅读 · 3 评论 -
SpringBoot服务器的瞬时 Diffie-Hellman公共密钥过弱
SpringBoot服务器的瞬时 Diffie-Hellman公共密钥过弱修改application.ymlserver enabled-protocols: TLSv1,TLSv1.1,TLSv1.2 ciphers: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CB原创 2021-04-15 13:23:10 · 4713 阅读 · 0 评论 -
JAVA&Lombok Builder模式 泛型<T>使用
JAVA&Lombok Builder模式 泛型 <T> 使用@Data@Builderpublic class ResponseResultVO<T> { private long code; private String msg; private T data;}1、Lombok Builder 使用 ResponseResultVO<SysUsers> vo = ResponseResultVO.<SysUs原创 2021-03-30 14:39:15 · 6341 阅读 · 0 评论 -
Lombok Builder模式创建对象
Lombok Builder模式创建对象1、传统创建对象 ResponseResultVO vo = new ResponseResultVO(); vo.setCode(1); vo.setData(""); vo.setMsg("");2、Builder模式1、@Builder注解@Data@Builderpublic class ResponseResultVO { private long code; private原创 2021-03-29 14:18:30 · 4836 阅读 · 2 评论 -
Springboot2.x统一拦截指定Exception
Springboot2.x统一拦截指定Exception@ControllerAdvicepublic class ExceptionControllerAdvice { @ExceptionHandler(value = MethodArgumentNotValidException.class) @ResponseBody public ResponseEntity<ResponseResultVO> bindExceptionHandler(BindExcep原创 2021-03-29 14:11:37 · 4568 阅读 · 3 评论 -
Comparable接口使用
Comparable接口使用总有数据库数据不方便OrderBy的时候,这时想要给集合里的对象排序该咋办呢?1、实体类实现Comparable接口,实现compareTo方法,定义排序规则。2、Collections.sort() 排序集合原创 2021-03-25 11:53:07 · 4485 阅读 · 0 评论 -
使用Lombok子类继承父类,父类属性不生效
使用Lombok子类继承父类,父类属性不生效子类增加:@ToString(callSuper = true)@EqualsAndHashCode(callSuper = true)@Data@Entity@ToString(callSuper = true)@EqualsAndHashCode(callSuper = true)public class SysRights extends BaseEntity { @Id @GeneratedValue(generator原创 2021-03-18 11:06:59 · 9410 阅读 · 0 评论 -
Springboot定时任务@Scheduled使用
Springboot定时任务@Scheduled使用1、启动类上添加@EnableScheduling开启定时任务@SpringBootApplication@EnableScheduling@Slf4jpublic class MaintainStarter { public static void main(String[] args) { SpringApplication.run(MaintainStarter.class, args); }}2、创建原创 2021-03-18 10:57:19 · 4909 阅读 · 3 评论 -
Springboot自定义注解&传参&简单应用
Springboot自定义注解&传参&简单应用1、目录结构:1.1 annotation为自定义注解位置2、自定义注解2.1 自定义两个注解LogController、TimeConsuming用来记录日志和统计方法耗时,其中LogController有三个参数@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @原创 2021-03-18 10:45:05 · 9863 阅读 · 4 评论 -
迪杰斯特拉(Dijkstra)算法 JAVA实现
迪杰斯特拉(Dijkstra)算法 JAVA实现迪杰斯特拉(Dijkstra)算法(贪心算法)是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。public class Dijkstra { /** * 两点之间路线不通 */ private static final int M = 10000; public static void main(String[]原创 2021-03-11 12:43:59 · 5515 阅读 · 0 评论 -
JAVA获取网卡信息及默认网关(Linux CentOS7 多网卡)
JAVA获取网卡信息及默认网关(Linux)现有需求:web页面可以获取网卡信息及默认网关,可以通过web页面配置网卡。1、准备需要的LINUX命令2、通过RUNTIME执行命令上面的代码获取网卡名的集合,再通过ifconfig xxx 命令获取网卡详情。3、处理结果4、获取默认网关(静态路由)5、测试一下6、反正通过RUNTIME可以执行各种命令,然后处理结果接好了,就是处理起来磨磨唧唧的,不知道还有没有更好的办法。......原创 2021-03-10 17:18:42 · 5731 阅读 · 2 评论 -
道格拉斯·普克算法 JAVA实现
道格拉斯·普克算法 JAVA实现作用:假如现在有个需求,后端计算出来一条路线规划,路线是由无数个坐标点组成,但是其中大部分连起来都是直线,那直线中有用的点也就起始点和终点,中间的全部点都是可以省略的。原理:对一条路径的起点和终点做一条直线,计算其余全部点到直线的距离,并找出最大距离,若最大距离比阈值小,则去掉全部中间点,若距离比阈值大,则保留当前点,以当前点为界,分成左右两条路径,重复前面的过程,直到所有的距离都小于阈值,就完事了,所以阈值越大,点越稀少,阈值越小,路径越接近真实的。1、坐标点实体原创 2021-03-05 15:17:58 · 6420 阅读 · 8 评论 -
监听Session实现监控用户在线/离线
监听Session实现监控用户在线/离线通过监听Session的变化状态实现获取用户在线状态创建监听类实现HttpSessionAttributerListenerattributeAdded为setAttribute时触发,attributeRemoved为removeAttribute时触发(超时也是)...原创 2021-03-05 11:11:16 · 4966 阅读 · 0 评论 -
BCrypt加密 & 密码校验
BCrypt加密 & 密码校验1、引入依赖2、加密3、密码校验原创 2021-03-04 12:02:38 · 5042 阅读 · 1 评论 -
RBAC 基于角色访问控制 & 具体实现
RBAC 基于角色访问控制 & 具体实现1、啥是RBAC?emm 说人话就是 用户表 join 用户角色表 join 角色表 join 角色权限表 join 权限表(反正我是这么理解的)。 那有啥用呢?比如配置用户的时候只需要给用户配置角色就好,具体实现就是维护“用户角色表”,而配置角色也是同理,只需要给相应角色配置权限,维护角色权限表就好,而用户表、角色表、权限表就通过两张关系表来建立关联,这样比如在登陆的时候就可以获得用户、用户的角色、用户具有的权限balabala。原创 2021-03-04 11:59:16 · 7106 阅读 · 6 评论 -
Java8优雅的字符串拼接工具类StringJoiner
Java8优雅的字符串拼接工具类StringJoinerStringJoiner是Java8新出的用于处理字符串拼接的工具类,可以让你的代码看起来更优雅,不拉跨。假设现在遍历一个字符串集合,需求是每个字符串按照 “.” 分开。 List<String> list = new ArrayList<>(); list.add(a); list.add(b); list.add(c); list.ad原创 2021-02-26 15:31:56 · 12286 阅读 · 13 评论 -
ApplicationEventPublisher异步处理事件
ApplicationEventPublisher异步处理事件ApplicationEventPublisher是一个标准的观察者模式,好处我认为就是可以把业务分离开,也可以通过异步来发送Event,这样主流程就不用关系Event中具体啥时候做了啥事,主流程只发布个Event就可以了,也不会阻塞主流程的进行,比如记录日志操作,或者调用一个第三方接口这种有时间消耗的操作都可以交给Listener慢慢儿处理(有点像新建了个线程)。1、创建Event集成ApplicationEvent参数为Event原创 2021-02-25 14:59:09 · 8045 阅读 · 0 评论 -
Java8通过Stream把集合转换成树
Java8通过Stream把集合转换成树1、表结构通过ID和PID来确定数据之间的父子关系2、实体类3、查询出全部数据转换成树结构原创 2021-02-23 13:54:53 · 7142 阅读 · 3 评论 -
Springboot2.x 集成 quartz 实现动态定时任务
Springboot2.x 集成 quartz 实现动态定时任务1、引入依赖springboot2只需要引入starter-quartz即可<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId></dependency>``2、实现ApplicationC原创 2021-02-07 09:47:11 · 7403 阅读 · 6 评论