beyondwild
愿你眸有星辰,心有山河,以梦为马,不负韶华!
展开
-
一起实战Springboot开发后端管理系统9:AOP+logback+MDC日志输出
MDC介绍 在比较复杂的应用中,一个请求需要走很多个方法的处理,怎么样才能快速查找一个请求的全部日志呢。在分布式系统中,我们可以用链路追踪,比如zipkin、skywalking去快速查找日志,从而定位问题。在比较复杂的单体管理系统中,我们可以使用slf4j的MDC去实现类似的功能。 MDC ( Mapped Diagnostic Contexts ),是为了便于我们诊断线上问题而出现的方法工具类。使用ThreadLocal实现的,在MDC中的变量,每个线程都会有单独的副本,多线程不会相互干扰。MDC原创 2020-07-09 12:41:42 · 593 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统8:Matrxi-Web权限设计实现
上篇文章讲述了Matrix-web整体实现的权限控制的思路。现在来回顾一下: 首先,用户需要登录,填用户名、密码,后端接收到登录请求,进行用户、密码的校验,校验成功后则根据用户名生成Token,并返回给浏览器。 浏览器收到Token后,会存储在本地的LocalStorge里。 后续浏览器发起请求时都携带该Token,请求达到后端后,会在Filter进行判断,首选判断是否为白名单url(比如登录接口url),如果是则放行;否则进入Token验证。如果有Token且解析成功,则放行,否则,返回无权限访问。原创 2020-07-09 12:41:35 · 250 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统7:Matrxi-Web权限设计
Matrxi-Web权限设计 对于一个后端系统来说,权限是基础设施,是安全保障。没有权限,系统可能随时面临各种风险,所以权限设计对后端系统来说至关重要。在Javaweb开发中,有很多权限开发的框架,比如shrio、Spring security,但是都比较重量级。作为一个后端管理系统来说,用这样的权限开发框架会拖慢开发进度。所以在这个项目中,我写了一个更简单的权限控制框架,使用很简单。 权限设计思路 在Matrxi-Web项目中,请求需要携带Token,请求经过Filter的时候(实际项目是使用Spr原创 2020-07-09 12:41:27 · 242 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统6:缓存框架Caffeine
Caffeine是一个基于Java8的高性能缓存框架,号称趋于完美。Caffeine受启发于Guava Cache的API,使用API和Guava是一致的。它借鉴了Guava Cache和ConcurrentLinkedHashMap的设计经验。 性能比较 基准测试使用Java microbenchmark工具提供准确的分析。 缓存配置为 Caffeine和ConcurrentLinkedHashMap根据CPU数量确定其内部结构的大小 Guava的并发级别配置为64(默认为4,以减少内存..原创 2020-07-09 12:41:19 · 269 阅读 · 1 评论 -
一起学习Springboot开发后端管理系统5:数据库读写分离
在Matrix-web后台管理系统中,使用到了数据库的读写分离技术。采用的开源的Sharding-JDBC作为数据库读写分离的框架。Matrix-Web后台数据库这一块采用的技术栈如下: 使用Mybatis-Plus作为ORM框架 使用Druid或者HikariCP作为数据库连接池 使用Sharding-JDBC 作为数据库读写分离的框架 本篇文章将讲述在Sharding-JDBC在Matrix-Web中的应用。 Sharding-JDBC简介 Sharding-JDBC是的分布式数据库中间件解决原创 2020-07-09 12:41:09 · 243 阅读 · 1 评论 -
一起实战Springboot开发后端管理系统4:数据库连接池Druid和HikariCP
上一篇文章主要讲解了如何再Matrix-Web中使用Mybatis-Plus,Mybatis-Plus作为Orm框架,连接数据库需要连接数据库的依赖。WEB 系统高并发环境下,频繁的进行数据库连接操作,造成系统技术瓶颈问题(无效的资源开销),通过为数据库连接为建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。 数据库连接池有很多,比如c3p0、Druid、Hikari等。大家常用的连接池应该是阿里开源的Druid,Druid.原创 2020-07-05 07:57:30 · 320 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统3:Mybatis-Plus实战2
在上一篇文章讲述了如何使用Mybatis-plus自动生成代码,生成的代码具有单表操作数据库的能力,节约了开发时间。然后讲述了如何在Spring Boot中整合Mybatis-Plus。这篇文章讲述如何使用Mybatis-Plus的增强功能:自动填充功能和查询分页功能。 Mybatis-Plus自动填充功能 在Matrix-web项目中,数据库的所有表都有四个公共字段,即create_by、create_time、update_by、update_time ,即存储了表数据的创建人、创建时间、更新时.原创 2020-07-05 07:52:19 · 242 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统2:Mybatis-Plus实战
在Matrix-Web项目中使用Mybatis-Plus作为操作数据库的ORM框架。在市面上常用的ORM框架有hibernetes、mybatis、JPA等,那么为什么选择Mybatis-Plus呢?主要基于以下方面考虑: 兼容Mybatis,可以轻松写出很复杂的sql和业务逻辑。_ 简单、容易上手,单表操作不需要写mybatis的xml,代码自动生成,可以实现快速开发。 基于Mybatis,和Mybatis完全兼容,和Mybatis相比,此框架无性能损耗(号称成为 MyBatis 最好的搭档)..原创 2020-07-05 07:44:59 · 565 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统1:概述
前言 Matrxi-Web是一个前后端分离的管理系统,前端采用vue开发框架,后端使用springboot开发框架,具体快速开发、简单可复用的特点。只要把整体框架搭建起来了,后面就只用写CRUD了。 Matrxi-Web具备基本的管理系统的基本功能,后端CRUD代码只需要配置好数据库,便可一键生成。 目录 本项目一共有三个模块: matrix-web-backend 后端代码模块 matrix-web-admin 前端代码模块 matrix-gen-code 后端代码生成模块 使用的..原创 2020-07-05 07:33:37 · 475 阅读 · 0 评论 -
一起实战Springboot开发后端管理系统0:目录
一起实战Springboot开发后端管理系统0:目录 一起实战Springboot开发后端管理系统1:概述 一起实战Springboot开发后端管理系统2:Mybatis-Plus实战 一起实战Springboot开发后端管理系统2:Mybatis-Plus实战2 一起实战Springboot开发后端管理系统4:数据库连接池Druid和HikariCP 一起学习Springboot开发后端管理系统5:数据库读写分离 一起实战Springboot开发后端管...原创 2020-07-05 07:23:41 · 268 阅读 · 0 评论