springBoot学习笔记
文章平均质量分 58
springboot学习笔记记录
在奋斗的大道
程序发烧友
展开
-
SpringBoot 事务失效及其对应解决办法
本文主要讲述Spring事务会去什么情况下失效及其解决办法Spring 通过AOP 进行事务控制,如果操作数据库报异常,则会进行回滚;如果没有报异常则会提交事务;但是,如果Spring 事务失效,会导致数据缺失/重复等异常问题。原创 2024-02-29 18:40:14 · 1880 阅读 · 5 评论 -
多数据源组件dynamic-datasource使用总结
dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。其支持。原创 2024-01-25 15:31:51 · 3732 阅读 · 0 评论 -
分布式锁Lock4J 使用总结
前提条件必须继承抽象类:com.baomidou.lock.executor.AbstractLockExecutorZooKeeper 版本执行器之ZookeeperLockExecutor////if (!} else {try {try {Redis 版本执行器之RedisTemplateLockExecutor////原创 2024-01-04 14:56:45 · 4403 阅读 · 0 评论 -
SpringBoot 3 集成Hive 3
造成此问题的原因是:spring boot 默认日志为logback, 而引用的hive-jdbc 及其关联jar 使用的日志为 log4j ,造成SLF4J 绑定冲突。我这边编写一个简单的Controller,打印Hive 默认数据库包含数据库名称。造成此类 问题的原因:hiveserver2 服务没有正常启动。解决办法:移除Hive JDBC 依赖的Jetty 容器。造成此类问题的原因:hadoop 没有配置权限导致。解决办法:移除冲突的日志:log4j。原创 2023-12-23 17:25:44 · 2618 阅读 · 3 评论 -
ModelMapper 一文读懂
ModelMapper是一个旨在简化对象映射框架,它根据约定处理对象之间的映射方式,为处理特定对象提供一个简单的、安全的、可重构安全API。原创 2023-01-16 16:48:18 · 5229 阅读 · 0 评论 -
狂神JUC笔记
JUC是 java util concurrentjava.util 是Java的一个工具包~原创 2022-11-01 19:45:15 · 549 阅读 · 0 评论 -
Xxl-job 一文读懂
数据备份订单未支付则自动取消定时爬取数据定时推送信息定时发布文章定时生成报表定时任务是指基于给定的时间点,间隔或者给定执行次数自动的执行程序。任务调度室系统的重要组成部分,而对于实时的系统,任务调度直接影响着系统的实时性。任务调度涉及多线程并发、运行时间规则定制与解析、线程池的维护等多项工作。application.properties 配置文件详解### web 服务端口及其项目名称### actuator 健康检查### resources 静态资源配置。原创 2022-10-24 01:29:28 · 5774 阅读 · 2 评论 -
Kafka 一文读懂
Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。原创 2022-08-10 18:12:52 · 613 阅读 · 0 评论 -
ElasticSearch 一文读懂
是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTPWeb接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。官方客户端在Java、.NET(C#)、PHP、Python、、Ruby和许多其他语言中都是可用的。[5]根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是,也是基于Lucene。...原创 2022-07-28 17:40:57 · 1521 阅读 · 0 评论 -
Apache ShardingSphere 一文读懂
关于 Apache ShardingSphereApache ShardingSphere 是一款开源分布式数据库生态项目,由 JDBC、Proxy 和 Sidecar(规划中) 3 款产品组成。其核心采用可插拔架构,通过组件扩展功能。对上以数据库协议及 SQL 方式提供诸多增强功能,包括数据分片、访问路由、数据安全等;对下原生支持 MySQL、PostgreSQL、SQL Server、Oracle 等多种数据存储引擎。Apache ShardingSphere 项目理念,是提供数据库增强计算服务平台,进原创 2022-06-21 12:17:43 · 2633 阅读 · 0 评论 -
SpringBoot 基于Aop 封装全局请求响应
基于SpringAop 统一请求响应结果封装原创 2022-06-01 18:51:32 · 809 阅读 · 0 评论 -
SpringBoot 集成Redis,通用功能封装
Redis简介:Remote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。 Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、原创 2022-05-25 01:26:44 · 921 阅读 · 0 评论 -
SpringBoot +Activiti 根据模型Id,查询节点列表
本文基于:Activiti 模型管理Model 模型管理需求:在模型管理功能基础上添加动态配置外置表单,注意不是内置表单。温馨提示:不管是内置表单还是外置表单,都是配置在指定模型的节点之上所有我们就必须更新模型Id查询指定模型涉及的节点列表信息。Model 模型管理之新增表单配置功能:选择转正流程模型,查看节点列表:温馨提示:这里还欠缺将自定义表单绑定值指定节点上。这个功能会在后期 实现。SpringBoot 之Activiti Model 模型管理后台Spring.原创 2022-05-11 18:30:52 · 2081 阅读 · 1 评论 -
SpringBoot 集成Activiti 实现Model(模型)管理
Activiti 之Model 模型管理需求:实现Model 检索、新增、编辑、删除、导出和部署功能。Activiti 之Model 模型管理页面操作:Model 首页:Model 检索:Model 新增:Model 编辑:简单设计转正流程,记得点击保存按钮。Model 导出:Model 删除:5001 流程模型已经被删除。Model 部署:功能说明:依据流程模型定义发起一次流程实例,由于该功能涉及用户和用户组设置、...原创 2022-05-11 15:06:11 · 2585 阅读 · 0 评论 -
SpringBoot 集成Activiti 流程设计器
开发环境版本:SpringBoot-2.2.1Activiti-5.22MySQL8IDEA2022 社区免费版下载Activities-5.22 源码包官网下载地址:Get started | Activiti导入Activiti 流程设计器依赖静态资源文件:将activiti-5.22.0/war/activiti-explorer.war解压将文件夹内 diagram-viewer,editor-app,modeler.html拷贝到项目中resource/...原创 2022-05-11 14:20:02 · 2107 阅读 · 1 评论 -
IDEA 搭建多模块SpringBoot 项目:集成MyBatis\Druid\Dubbo
智慧城管项目结构划分:SmartUrban 智慧城管父类核心pom.xml文件:定义功能模块和依赖SpringBoot parent 版本信息。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:原创 2022-04-24 02:09:35 · 471 阅读 · 0 评论 -
SpringBoot 开启Druid监控统计功能
Druid 相关配置属性:配置Druid数据源(连接池): 如同以前 c3p0、dbcp 数据源可以设置数据源连接初始化大小、最大连接数、等待时间、最小连接数 等一样,Druid 数据源同理可以进行设置; 配置 Druid web 监控 filter(WebStatFilter): 这个过滤器的作用就是统计 web 应用请求中所有的数据库信息,比如 发出的 sql 语句,sql 执行的时间、请求次数、请求的 url 地址、以及seesion 监控、数据库表的访问次数 等等。 配置 Druid 后台管原创 2022-04-23 16:57:14 · 7196 阅读 · 0 评论 -
SpringBoot 项目中在Controller 直接调用Mapper,提示:Field mapper in ‘*Controller ‘ required a bean of type ‘*Map
今天使用IDEA 搭建SpringBoot 项目,我心血来潮想省略Service 层的编写就直接在Controller 层调用Mapper 层接口,提示如下错误信息:***************************APPLICATION FAILED TO START***************************Description:Field mapper in com.zzg.controller.FirstController required a bean of t原创 2022-04-21 17:21:01 · 5006 阅读 · 0 评论 -
Spring Boot 项目集成Alibab Druid 数据库连接池,提示:com.alibaba.druid.pool.DruidDataSource : {dataSource-1} close
今天在IDEA编辑器下创建Spring Boot项目并且集成Alibaba Druid 数据库连接池,但是项目启动后,会出现如下错误信息:com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed错误原因:Alibaba Druid 数据库连接无法正常连接MySQL 数据库服务导致产生的关闭。问题排查:确认MySQL8 数据库服务正常运行。温馨提示:目前Springboot中默认支持的连接池有dbcp,dbcp2, tomc原创 2022-04-21 16:28:13 · 12204 阅读 · 1 评论 -
SpringBoot 项目打包成jar包,并执行Jar文件
第一步:SpringBoot 项目打成jar 包1、需要在POM.xml文件中加入如下代码: <modelVersion>4.0.0</modelVersion> <groupId>com.ws.build</groupId> <artifactId>digipower-build</artifactId> <version>0.0.1-SNAPSHOT</version> <p原创 2022-03-02 01:28:32 · 1320 阅读 · 0 评论 -
SpringBoot 动态过滤自动配置类
问题描述:有时候我们引入SpringBoot的Start组件的时候,默认就根据SPI机制加载了相应的自动配置的类;比如通过META-INF下的spring.factories,来读取你需要默认引入的自动配置的类;但是有时候你不想要这些功能,简单一点来说就是在启动类中过滤掉该类实现方式一:@SpringBootApplication(exclude = {KafkaConsumerConfig.class})功能说明:启动容器时排除指定配置类。实现方式二:功能要求:通过一个开关配置或者转载 2022-02-10 18:20:27 · 820 阅读 · 0 评论 -
SpringBoot 集成Redisson
什么是Redisson基于Java Redis 和Netty 实现的高性能异步无锁框架温馨提示:JDK 大于等于1.8Redisson 功能实现Redis Replicated setup (including support ofAWS ElastiCacheandAzure Redis Cache) Redis Cluster setup (including support ofAWS ElastiCache ClusterandAzure Redis Cache)...原创 2022-01-04 19:09:59 · 1526 阅读 · 1 评论 -
SpringBoot + MyBatis-Plus +SpringSecurity +Thymeleaf +LayUI 通用业务模块集成安全认证
1、基础技术框架技术名称 版本 SpringBoot 2.1.0.RELEASE Mybatis-Plus 3.4.1 Lombok 1.18.2 MySQL8 8.0.13 AlibabaDruid 1.1.10 Thymelaf 3.0.11 Alibaba Fastjson 1.2.4 Hutool 5.5.2 SpringSecurity 5.5.1 2、完整pom.xml<pr...原创 2021-12-30 00:51:35 · 831 阅读 · 0 评论 -
SpringBoot 集成Swagger3
一,什么是swagger?1, Swagger 是一个规范和完整的文档框架, 用于生成、描述、调用和可视化 RESTful 风格的 Web 服务文档 官方网站:https://swagger.io/2,使用swagger要注意的地方: 在生产环境中必须关闭swagger, 它本身只用于前后端工程师之间的沟通, 可以专门使用一台内部服务器来展示ui供访问, 即使在这上面要做好安全措施3, 因为swagger3.0.0已发布,本...原创 2021-12-24 19:41:15 · 2412 阅读 · 0 评论 -
SpringBoot + MyBatis-Plus +MySQL8 +Thymeleaf +LayUI通用业务模块增删改查
1、基础技术框架技术名称 版本 SpringBoot 2.1.0.RELEASE Mybatis-Plus 3.4.1 Lombok 1.18.2 MySQL8 8.0.13 AlibabaDruid 1.1.10 Thymelaf 3.0.11 Alibaba Fastjson 1.2.4 Hutool 5.5.2 2、完整pom.xml<project xmlns="http://maven....原创 2021-12-23 02:08:02 · 2458 阅读 · 1 评论 -
SpringBoot + MyBatis-Plus+DM8 +Elasic-job 通用代码框架
目录1、基础技术框架2、完整pom.xml3、初始化脚本4、项目结构截图:5、业务模块说明6、通用模块说明7、系统初始化配置8、系统入口9、配置参数和日志10、Mapper 配置文件11、定时任务实列化12、程序效果截图:1、基础技术框架技术名称 版本 SpringBoot 2.1.9.RELEASE MyBatis-plus 3.3.1 DM8 18 lombok 1.18.10 hutool-a..原创 2021-12-22 19:33:19 · 1334 阅读 · 0 评论 -
SpringBoot + MyBatis-plus + SpringSecurity + JWT实现用户无状态请求验证(前后端分离)
1、基础技术框架技术名称 版本 SpringBoot 2.1.9.RELEASE MyBatis-plus 3.3.1 MySQL 8.0.11 SpringSecurity 5.1.6.RELEASE jjwt 0.9.0 lombok 1.18.10 guava 30.1.1-jre hutool-all 5.5.2 druid 1.2.3 swagger3 3.0 aop 1.9.4原创 2021-11-09 09:55:45 · 3209 阅读 · 1 评论 -
SpringBoot 安全漏洞之SQL注入和XSS攻击
1、自定义HttpServletRequestWrapper类,实现SQL和XSS 过滤package com.zzg.sql.filter;import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.Enumeration;import java.util.Has原创 2021-11-09 09:31:28 · 647 阅读 · 0 评论 -
SpringBoot + MyBatis-plus + SpringSecurity + Thymeleaf 实现系统基础模块功能
嘟嘟平台基础技术框架技术名称 版本 SpringBoot 2.1.9.RELEASE MyBatis-plus 3.3.1 MySQL 8.0.11 SpringSecurity 5.1.6.RELEASE Thymeleaf 3.0.4.RELEASE lombok 1.18.10 guava 30.1.1-jre hutool-all 5.5.2 druid 1.2.3 swagger3 3.0原创 2021-11-05 19:17:30 · 787 阅读 · 0 评论 -
SpringBoot 集成FluentMyBatis 框架之集成分页功能
本文基于上一篇:SpringBoot 集成FluentMyBatis 框架之完善SpringBoot 集成FluentMyBatis 框架之集成分页功能FluentMyBatis 官方分页官方提供的写法是Query语句中有limit方法,和mysql的limit关键字一致。定义分页请求参数实体package com.single.req;import java.io.Serializable;import lombok.Data;@SuppressWarnings("seri原创 2021-11-04 14:38:56 · 642 阅读 · 0 评论 -
SpringBoot 安全漏洞之XSS注入攻击(jsoup版本)
1. 跨站点脚本编制 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。 原因:未对用户输入正确执行危险字符清理。 固定值:查看危险字符注入的可能解决方案。2. pom.xml添加依赖<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <.原创 2021-11-04 12:14:27 · 1567 阅读 · 0 评论 -
SpringBoot 安全漏洞之SQL注入解决方案
1. SQL盲注、SQL注入 风险:可能会查看、修改或删除数据库条目和表。 原因:未对用户输入正确执行危险字符清理。 固定值:查看危险字符注入的可能解决方案。2、添加SQL注入包装类import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequ.原创 2021-11-04 12:00:41 · 4862 阅读 · 1 评论 -
SpringBoot 安全漏洞之Referer 跨站点攻击解决方案
1. 跨站点请求伪造 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。 原因:应用程序使用的认证方法不充分。 固定值:验证“Referer”头的值,并对每个提交的表单使用 one-time-nonce。2、配置文件添加配置#防止Referer跨站点配置security.csrf.excludes3、添加Referer拦截器import java.io.IOException;import原创 2021-11-04 11:38:37 · 7233 阅读 · 0 评论 -
SpringBoot 集成FluentMyBatis 框架之完善
本文基于上一篇:SpringBoot 集成FluentMybatis 实现简单增删改查功能SpringBoot 集成FluentMyBatis 框架之完善主要添加:alibaba druid 数据库连接池和小米接口文档knife4j(类似:丝袜哥=swagger)pom.xml 文件添加alibab driud 和knife4h 依赖...原创 2021-11-03 19:40:41 · 664 阅读 · 0 评论 -
SpringBoot 集成FluentMybatis 实现简单增删改查功能
本文基于上一篇:SpringBoot 集成FluentMybatis 框架完整pom.xml 文件<project xmlns="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.0 http://maven.apache.org/xsd/maven-4.0.0原创 2021-11-03 17:26:27 · 730 阅读 · 0 评论 -
SpringBoot 集成FluentMybatis 框架
FluentMybatis特性FluentMybatis原理项目搭建pom.xml 添加fluent-mybatis依赖 <properties> <java.version>1.8</java.version> <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> <fluent-mybatis.version>1.8.7&l..原创 2021-11-03 17:05:34 · 941 阅读 · 0 评论 -
SpringBoot 之 PDF大文件分片加载(后端)
业务需求:前端集成pdf.js 实现在线阅读pdf 文件,但pdf 文件过大时(大于100M)会出现浏览器内存溢出导出程序崩溃的场景发生。针对这个情况,后端给出的解决方案是:分片加载pdf 文件流。约定:与前端约定在header 头部参数中追加rang 参数:表示需要加载文件片数,后台动态计算起始字节位置,流式输出指定文件内容。SpringBoot源码:pom.xml:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x原创 2021-11-03 10:26:46 · 2087 阅读 · 1 评论 -
Spring Boot 配置CROS Filter
一、什么是CORS?CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing),允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。它通过服务器增加一个特殊的Header[Access-Control-Allow-Origin]来告诉客户端跨域的限制,如果浏览器支持CORS、并且判断Origin通过的话,就会允许XMLHttpRequest发起跨域请求。CORS HeaderAcce..原创 2021-11-01 16:30:11 · 5457 阅读 · 3 评论 -
Spring Boot + Apache Shrio + JWT前后端分离项目
权限类说明:ShiroConfig.java : Apache Shrio 配置对象UserRealm.java: 自定义认证类JWTToken.java: 自定义凭证类JWTFilter.java: 自定义权限验证拦截器JWTUtils.java: 生成和校验token 工具类RABC 数据库实体类说明:User.java:用户表Role.java: 角色表UserRole.java: 用户关联角色表Menu.java: 菜单表RoleMenu.java: 角.原创 2021-10-11 15:39:15 · 10417 阅读 · 1 评论 -
UserAgentUtils(浏览器解析工具)使用总结
UserAgentUtils简介:user-agent-utils 是一个用来解析 User-Agent 字符串的 Java 类库。它能够识别的内容包括:超过150种不同的浏览器; 7种不同的浏览器类型; 超过60种不同的操作系统; 6种不同的设备类型; 9种不同的渲染引擎; 9种不同的Web应用,如HttpClient、BotGitHub地址:https://github.com/HaraldWalker/user-agent-utilsSpring Boot集成UserAge原创 2021-10-11 11:07:32 · 4370 阅读 · 1 评论