0

activiti7与springboot2整合

接下来时间我会写一系列Activiti7的文章,包括Activiti7实战,Activiti7源码分析,Activiti7中遇到的坑等。那么首先我们先跑起来,将Activiti7与Springboot2整合。Activiti7相比Activiti6一个显著的变化就是引入了SpringSecurity来负责鉴权工作,通俗点说就是接入的用户或者系统有没有相应的接口访问权限。1. 引入依赖<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" ...

阅读全文>>

0

3千字Apollo配置中心的总结,让配置“智能”起来

思维导图文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary一、概述Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。目前Apollo在github有22.6k颗星,在官网登记的使用的公司有451家,算是很流行的配置中心的框架技术。所以接下来跟着我一起学习Apollo配置中心吧。二、为什么使用配置中心首先,没有配置中心之前传统的配置都是写在配置文件中,比如各种yml、perproties、xml文...

阅读全文>>

0

轻量级的分布式日志追踪利器,十分钟可接入,从此日志追踪无难事

前言随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排队查日志的时候。因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难。这时候很多童鞋会开始考虑上SkyWalking,Pinpoint等分布式追踪系统来解决,基于OpenTracing规范,而且通常都是无侵入性的,并且有相对友好的管理界面来进行链路Span的查询。但是搭建分布式追踪系统,熟悉以及推广到全公司的系统需要一定的时间周期,而且当中涉及到链路span节点的存储成本问题,全量采集还是部分采集?如果全量采集,就以SkyWalking的存储来举例,ES集群搭建至少需要5个节点。这就需要...

阅读全文>>

0

JDK15正式发布,划时代的ZGC同时宣布转正

✍前言2020年9月15日,JDK15正式发布,可谓如约而至。按照Java SE的发展路线图,JDK14自此停止更新。值得注意的是JDK15并非「LTS」版本,Oracle官方对Java SE的支持路线图如下:JDK8的扩展支持时间超过了JDK11,Oracle你是认真的吗?开个玩笑~那么自Java11之后,哪个版本才是LTS版本呢?Oracle官方并没给出具体参考路线图,但可参考OpenJDK的这张:可以看到「JDK17」将是下一个LTS版本,预计发版日期是2021年9月份。当然喽这只是OpenJDK的发版线路图,并不代表Oracle官方,因此仅供参考,不过一般八九不离十。❝小贴士:Open...

阅读全文>>

0

Mybatis中不建议使用动态sql

Mybatis是一个优秀的Java持久层框架,它通过xml的方式来管理要执行的sql语句,屏蔽了jdbc底层细节,让开发人员可以方便的操作数据库。动态SQL说到动态SQL,绝对是Mybatis引以为豪的东西,因为它可以使配置文件简洁,就像下面这个配置,我可以使用selectEntryByWhere来适配所有的查询语句,是不是感觉很爽。<select id="selectEntryByWhere" parameterType="Order" resultType="Order"> SELECT <include refid="Base_Column"/> FROM ord...

阅读全文>>

0

一个基于 Spring Boot 的在线考试系统

今天推荐一款超级美观的在线考试系统,感兴趣可以先去预览地址看看该项目。在线 Demo预览,http://129.211.88.191 ,账户分别是admin、teacher、student,密码是admin123GitHub地址:github.com/19920625lsg/spring-boot-online-exam功能简介支持单选题、多选题、判断题支持学生(student)、教师(teacher)、管理员(admin)三种角色学生:参加考试和查看我的考试教师:学生的所有权限+创建/编辑题目+创建/编辑考试管理员:教师的所有权限+管理用户软件架构前后端分离,前段组件化,方便二次开发;后端后...

阅读全文>>

0

SpringBoot:基于JWT的token校验、单点登录等

前言用户鉴权一直是我先前的一个问题,以前我用户接口鉴权是通过传入参数进行鉴权,只要是验证用户的地方就写token验证,虽然后面也把token验证方法提取到基类中,但是整体来说仍然不是太雅观,当时的接口如下所示. @RequestMapping(value = "like",method = RequestMethod.POST) public ResultMap userLikeOrDisLikeAction(@RequestParam(value = "shopId") String shopId, ...

阅读全文>>

0

记一次token安全认证的实践

背景介绍:因项目需求,有PC端 APP端和小程序端,但登陆接口是同一个,然而微服务也无法使用传统的session解决用户登录问题(注意这里是传统的session不是spring session),使用户信息在其他服务共享。如此一来就想到了token安全认证,而JWT生成token可以包含用户信息,也就果断选择了JWT作为SpringCloud gateway网关的token校验工具,这样,我们便可以直接解析token获取用户信息了。具体实现思路:让JWT在其他所有服务可以共同使用,父工程需要引入JWT jar。避免在其他服务重复引入。如何使用JWT生成token。如何解析token。如何让网关...

阅读全文>>

0

FileBeat + Kafka + ELK搭建与简单示例

最近调研了一下ELK,自己也尝试搭建了一套环境,用于学习, 现将整个部署的过程记录下来现 Filebeat 已经完全替代了 Logstash-Forwarder 成为新一代的日志采集器,越来越多人开始使用它,所以现在基于 Filebeat ELK 架构如下图看完了图,再来简单介绍一下ELKE lasticsearch :简称 ES,是ELK的核心,是基于Apache Lucene的开源数据搜索引擎,可以实时快速的搜索和分析,性能强悍L ogstash :一个具有实时传输能力的数据收集引擎,用来数据收集、分析、过滤日志的工具,支持多类型日志K ibana :为Elasticsearch提供了分析...

阅读全文>>

0

在 SpringBoot 中实现多数据源访问的最佳实践

1 概述在实际业务开发中通常会在单个应用中通过 分库分表 或者 读写分离的方式来提供应用的读写性能。在具体的开发中有很多方式:通过不同的 mapper,映射到不同的 mybatis 源的方式通过继承 Spring 的 AbstractRoutingDataSource 抽象类并重写 determineCurrentLookupKey 方法来管理多个数据源的方式本文将详细介绍在 SpringBoot 应用中如何通过 自定义注解 和 aop 的方式实现多数据源的访问,采用了第二种的方式。2 关键点通过 @Aspect 注解来解析自定义注解通过继承 Spring 的 AbstractRoutingD...

阅读全文>>