场景:由于公司项目需要,需要使用部署微服务项目,而之前都是使用tomcat部署,操作十分繁琐。最近正好在学习Docker,利用Docker容器做部署尝试需求:使用Docker部署服务支持idea插件,一键操作构建、推送镜像、运行单个镜像需根据不同端口部署多个容器日志持久化必要软件服务器(我的版本为CentOS:7.9)Docker(需要开通远程访问,正式环境请使用证书加密,我这里测试用无加密)Harbor镜像仓库(可选)...
继续阅读 >
分类:SpringBoot
前言完整的源代码已经上传到CodeChina平台上,文末有仓库链接🤭技术栈前端htmlThymleafJquery后端SpringBootShiroRedisMybatis-Plus需求分析有1和2用户,用户名和密码也分别为1和2,1用户有增加和删除的权限,2用户有更新的权限,登录的时候需要验证码并且需要缓存用户的角色和权限,用户登出的时候需要将缓存的认证和授权信息删除。数据库E-R图设计其实就是传统的RBAC模型,不加外键的原因...
继续阅读 >
2021
05-23
05-23
Vue+Springboot实现接口签名的示例代码
1、实现思路接口签名目的是为了,确保请求参数不会被篡改,请求的数据是否已超时,数据是否重复提交等。接口签名示意图客户端提交请求时,将以下参数按照约定签名方式进行签名,随后将参数和签名一同提交服务端:1.请求头部分(header)appid:针对不同的调用方分配不同的appid。noce:请求的流水号,防止重复提交。timestamp:请求时间戳,验证请求是否已超时失效。2.数据部分Path:按照path中的参数将所有key=value进行拼接。Que...
继续阅读 >
2021
05-23
05-23
SpringBoot实现Mysql使用MD5进行密码加密的示例
项目开发中为了保护用户隐私安全,一般都会用MD5进行密码加密以下就简单举例SpringBoot实现Mysql使用MD5进行密码加密做一个简单的例子看下数据库,这边简单做了用户表进行测试pom.xml添加依赖引用<!--MD5加密对注册的密码进行加密操作--><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId></dependency><dependency><groupId>org....
继续阅读 >
2021
05-23
05-23
SpringBoot使用Captcha生成验证码
1.基本结构使用Captcha生成验证码,利用Redis存储验证码Redis中的结构为,Key是32位的UUID,Value为Captcha的4位随机字母以及数字的集合设定Redis过期时间为1min,即可实现过期验证码的自动失效2.Kaptcha的依赖基本的依赖这里不再叙述,主要说一下要导入Captcha的依赖<!--Kaptcha--><dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>所有的...
继续阅读 >
2021
05-23
05-23
springboot解决前后端分离时的跨域问题
随着分布式微服务的兴起,越来越多的公司在开发web项目的时候选择前后端分离的模式开发,前后端分开部署,使得分工更加明确,彻底解放了前端。我们知道,http请求都是无状态,现在比较流行的都是jwt的形式处理无状态的请求,在请求头上带上认证参数(token等),前后端分离有好处,也有坏处,第一次开发前后端分离项目的人,肯定会遇到前端请求跨域的问题,这个怎么处理呢?在说处理方案前,有必要说明一下为什么会跨域和什么是...
继续阅读 >
2021
05-23
05-23
SpringBoot基于Mybatis-Plus自动代码生成
前言大家好啊,我是汤圆,今天给大家带来的是《SpringBoot中的自动代码生成-基于Mybatis-Plus》,希望对大家有帮助,谢谢简介基于Mybatis-Plus的自动代码生成有很多方式,这里介绍下我在用的两种:本地代码生成:Mybatis-Plus官方在线代码生成:第三方这两种各有优缺点,看喜欢哪一种了听说Idea也有自动生成的插件,但是我还没去看,我觉得这俩就够用了(但也说不准哪天,用了插件后,才发现柳暗花明呢)有的官人,可能...
继续阅读 >
2021
05-23
05-23
使用springboot整合mybatis-plus实现数据库的增删查改示例
1、准备数据库中的表及表中的数据/*SQLyogUltimatev12.09(64bit)MySQL-5.6.11:Database-mp**********************************************************************//*!40101SETNAMESutf8*/;/*!40101SETSQL_MODE=''*/;/*!40014SET@OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0*/;/*!40014SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0*/;/*!40101SET@OLD_SQL_MODE=@@S...
继续阅读 >
2021
05-23
05-23
使用springboot开发的第一个web入门程序的实现
1.新建一个springboot初始化项目2.输入自己的包名,项目名及jdk版本,再点击Next3.勾选SpringWeb,再点击Next4.再点击Next,再Finish默认的项目结构如下图(1)修改pom.xml文件完整的pom.xml为:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http...
继续阅读 >
2021
05-23
05-23
SpringBoot+VUE实现前后端分离的实战记录
一,前端VUE项目这里使用VUEUI创建一个VUE项目命令行输入vueui进入手动配置项目选中这三个点击下一步->点击创建项目用IDEA打开刚才创建的项目IDEA中的安装vue插件并重启IDEA控制台中输入vueaddaxios安装axios新建一个Show.vue在index,js的routes中配置它的路由编写Show,vue向后端请求数据并展示<template><div><table><tr><td>ID</td><td>姓名</td>...
继续阅读 >
2021
05-23
05-23
SpringBoot集成Redisson实现延迟队列的场景分析
使用场景1、下单成功,30分钟未支付。支付超时,自动取消订单2、订单签收,签收后7天未进行评价。订单超时未评价,系统默认好评3、下单成功,商家5分钟未接单,订单取消4、配送超时,推送短信提醒......对于延时比较长的场景、实时性不高的场景,我们可以采用任务调度的方式定时轮询处理。如:xxl-job今天我们采用一种比较简单、轻量级的方式,使用Redis的延迟队列来进行处理。当然有更好的解决方案,可根据公司的技术选型和业务...
继续阅读 >
2021
05-20
05-20
springboot自动配置原理解析
前言小伙伴们都知道,现在市面上最流行的web开发框架就是springboot了,在springboot开始流行之前,我们都用的是strust2或者是springmvc框架来开发web应用,但是这两个框架都有一个特点就是配置非常的繁琐,要写一大堆的配置文件,spring在支持了注解开发之后稍微有些改观但有的时候还是会觉得比较麻烦,这个时候springboot就体现出了它的优势,springboot只需要一个properties或者yml文件就可以简化springmvc中在xml中需要配置的...
继续阅读 >
2021
05-20
05-20
SpringBoot项目优雅的全局异常处理方式(全网最新)
前言在日常项目开发中,异常是常见的,但是如何更高效的处理好异常信息,让我们能快速定位到BUG,是很重要的,不仅能够提高我们的开发效率,还能让你代码看上去更舒服,SpringBoot的项目已经对有一定的异常处理了,但是对于我们开发者而言可能就不太合适了,因此我们需要对这些异常进行统一的捕获并处理。一、全局异常处理方式一SpringBoot中,@ControllerAdvice即可开启全局异常处理,使用该注解表示开启了全局异常的捕获,我们...
继续阅读 >
2021
05-20
05-20
SpringBoot集成mqtt的多模块项目配置详解
前言近期为了准备毕设,准备使用SpringBoot搭建mqtt后端,本篇主要记录了在IDEA中搭建SpringBootmqtt的多模块项目的过程开发工具及系统环境IDE:IntelliJIDEA2020.2操作系统:Windows102004JavaVersion:1.8SpringBootVersion:2.1.17.RELEASE项目路径Study|----study-common#存放公共类|----study-mapper#mapper层|----study-mqtt#mqtt相关配置文件及接口|-...
继续阅读 >
2021
05-20
05-20
SpringBoot2.0集成MQTT消息推送功能实现
这几天在弄后端管理系统向指定的Android客户端推送消息的功能模块,查阅了网上很多博客介绍的许多方式,最终选择基于MQTT协议来实现,MQTT是一个轻量级的消息发布/订阅协议,它是实现基于手机客户端的消息推送服务器的理想解决方案。 实现MQTT协议的中间件有很多,我用的是Apollo服务器,如何搭建MQTT服务器,请查阅其他资料。这...
继续阅读 >
2021
05-20
05-20
springboot项目配置logback日志系统的实现
记录springboot项目配置logback日志文件管理:logback依赖jar包SpringBoot项目配置logback理论上需要添加logback-classic依赖jar包:<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency>但是因为SpringBoot项目默认就是使用的就是logback日志系统,创建SpringBoot项目时引入的spring-boot-starter或者spring-boot-starter-web依赖jar包中已...
继续阅读 >