
SpringBoot
文章平均质量分 78
春日安然
做一个乐观善良而温暖的人,好好学习,成为更优秀的自己。
展开
-
【扫盲科普篇】SpringCloud 框架介绍和核心组件详解
1.微服务框架; 2.SpringCloud 是什么 3. SpringCloud 组件概览 4.SpringCloud 核心组件详解; 5. 实际场景案例;原创 2021-05-27 09:15:53 · 7073 阅读 · 3 评论 -
SpringBoot + Redis 实现发布订阅功能
一. 发布订阅模式(pub/sub)介绍pub/sub 是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者。同样,Redis 的 pub/sub 是一种消息通信模式,主要目的是解除消息发布者和消息订阅者之间的耦合, Redis 作为一个 pub/sub 的 server, 在订阅者和发布者之间起到了消息路由的功能。二.原创 2021-03-13 12:08:29 · 868 阅读 · 0 评论 -
SpringBoot 使用 @ServerEndpoint 后 @Autowired 失效问题分析和解决
之前的技术博客中记录了 SpringBoot 如何集成 WebSocket 实现消息群发推送,主要构建了基础的框架:SpringBoot 集成 WebSocket 实现消息群发推送后续发现使用 @ServerEndpoint 后,@Autowired 就失效了,这是为什么呢?问题描述在具体的业务场景中,需要等用户连接成功后,从库表中先获取10条数据,作为默认的初始化数据进行显示。我们想当然的通过 @Autowired 注解将对应 Service 进行依赖注入。却发现报了空指针的异常,也就是说,所需原创 2021-03-12 18:09:02 · 4696 阅读 · 6 评论 -
SpringBoot 图形验证码的生成和校验
1. 编写工具类package com.cn.beauty.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession原创 2021-02-26 16:37:07 · 1391 阅读 · 2 评论 -
SpringBoot 集成 WebSocket 实现消息群发推送
一. 什么是 WebSocketWebSocket 是一种全新的协议。它将 TCP 的 Socket(套接字)应用在了web page上,从而使通信双方建立起一个保持在活动状态的连接通道,并且属于全双工通信(双方同时进行双向通信)。二. WebSocket 的特点WebSocket 的最大特点是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。其他特点包括:建立在 TCP 协议之上,服务器端的实现比较容易。与 HTTP 协议有原创 2021-02-23 14:58:54 · 1973 阅读 · 2 评论 -
使用 Nginx 部署 Vue + SpringBoot 项目
一. Vue 项目的打包在项目路径下打开 cmd,输入以下命令:npm run build出现如下提示说明打包成功:成功后会在项目目录下生成 dist 目录,将对应目录下的 index.html 和 static 文件夹压缩后上传到 linux 下的 nginx 的 html 目录下:解压缩:unzip dist.zip打开 nginx 的 conf 目录,打开配置文件 nginx.conf:二. SpringBoot 项目的打包使用 IDEA 打开项目,使用 maven 将程序打原创 2020-10-16 14:33:09 · 1313 阅读 · 0 评论 -
SpringBoot + Mybatis Plus + Druid 实现多数据源切换和动态事务
之前配置多数据源踩了很多坑,包括事务注解失效,多数据源无法切换等,特此把配置过程整理下来,以供后来的小伙伴参考。原创 2020-09-16 10:26:03 · 4016 阅读 · 3 评论 -
SpringBoot实现多数据源动态切换
一.多数据源切换1.在配置文件中,配置3个不同的数据源,如下(项目使用的是druid数据库连接池):spring: datasource: druid: # 数据库连接1 datasource1: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://...原创 2020-04-23 14:47:28 · 1216 阅读 · 1 评论 -
Spring的声明式事务@Transactional注解的6种失效场景
一.Spring事务管理的两种方式事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例:try { //TODO something transactionManager.commit(status);} catch (Excep...转载 2020-04-16 13:13:16 · 4595 阅读 · 4 评论 -
使用AOP给springboot项目添加日志
AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。一般来说,我们项目中的日志几乎会遍布所有controller,不利于统一管理,这种散布在各处的无关的代码被称为横切(cross cutting),...原创 2018-08-19 13:30:41 · 2266 阅读 · 2 评论 -
实现html和word的相互转换(带图片)
项目后端使用了springboot,maven,前端使用了ckeditor富文本编辑器。目前从html转换的word为doc格式,而图片处理支持的是docx格式,所以需要手动把doc另存为docx,然后才可以进行图片替换。一.添加maven依赖主要使用了以下和poi相关的依赖,为了便于获取html的图片元素,还使用了jsoup:<dependency> <gr...原创 2018-06-16 13:29:10 · 77301 阅读 · 73 评论 -
springBoot集成Activiti6
数据库:mysqlIDE:Spring Tool Suitebuild工具:Maven项目版本:springBoot1.5.10 + JDK1.8 + Maven3.0.5 (之前用的是2.0.0版本的springBoot,集成activiti6后启动一直报错,最后发现是版本问题,改为1.5.10就可以了,迷之崩溃o(╥﹏╥)o)一.构建springBoot1.创建项目...原创 2018-04-10 14:49:31 · 33308 阅读 · 11 评论