SpringBoot
文章平均质量分 78
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid applicatio
别团等shy哥发育
硕士在读,对分布式、中间件、容器、微服务、深度学习、机器学习与数据挖掘方面感兴趣,希望可以在这些方面和大家交流学习方法。
后续文章会搬到这里:www.codeleader.top
展开
-
SpringSecurity登录验证码功能实现
super(msg);} }这里你需要配置全局异常处理类,我的全局异常处理如下,我为了方便直接捕获了所有的运行时异常。/*** 全局异常处理log . error("运行时异常:------{}" , e . getMessage());} }原创 2023-03-01 10:43:41 · 199 阅读 · 1 评论 -
SpringBoot集成Knife4j接口管理工具
平时开发项目都用的是Swagger2或者Swagger3,但是这两个UI看起来不是很舒服,今天看到了Knife4j,它对Swagger进行了增强,有很多个性化需求。官网的配置如下图所示,我多配置了个head参数,目的是为了每次请求的时候在请求头上带上token参数,方便后端JWT的校验。,所以这些请求默认都会被拦截,所以这里在配置类中放行这些文档的请求就行。定义标签分组接口,在这个类下定义的所有接口将位于这个标签之下。请求头这里默认有个token参数,是因为我在上面配置类中写的。原创 2023-03-01 10:40:21 · 615 阅读 · 0 评论 -
微信小程序+SpringBoot实现文件上传与下载
微信小程序+SpringBoot实现文件上传与下载1、文件上传1.1 后端部分1.1.1 引入Apache Commons FIleUpload组件依赖1.1.2 设置上传文件大小限制1.1.3 创建控制器1.2 小程序前端部分1.3 实现效果2、文件下载2.1 后端部分2.1.1 控制器2.2 小程序前端部分2.3 实现效果1、文件上传1.1 后端部分1.1.1 引入Apache Commons FIleUpload组件依赖<!--文件上传与下载相关的依赖--><depende原创 2022-03-19 22:50:11 · 3579 阅读 · 24 评论 -
Spring Cloud Gateway解决跨域问题
Spring Cloud Gateway解决跨域问题1、什么是跨域2、为什么会有跨域问题3、Spring Cloud Gateway解决跨域问题3.1 搭建server-gateway模块3.2 引入相关依赖3.3 resources下添加配置文件3.4 启动类3.5 解决跨域问题3.6 服务调整3.7 测试1、什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。同源是指,域名,协议,端口均相同。也就是说域名、协议、端口只要有一处不同,就会产原创 2022-01-04 16:58:17 · 4912 阅读 · 5 评论 -
Spring Cache+Redis缓存数据
Spring Cache+Redis缓存数据1、为什么使用缓存2、常用的缓存注解2.1 @Cacheable2.2 @CacheEvict2.3、@Cacheput2.4、@Caching2.5、@CacheConfig3、SpringBoot缓存支持4、项目继承Spring Cache+Redis4.1 添加依赖4.2 配置类4.3 添加redis配置4.4 接口中使用缓存注解4.5 缓存效果测试1、为什么使用缓存 我们知道内存的读取速度远大于硬盘的读取速度。当需要重复地获取相同数据时,一次一次地请原创 2022-01-03 00:16:18 · 1348 阅读 · 4 评论 -
Canal实现MySQL数据实时同步
Canal实现MySQL数据实时同步1、canal简介2、工作原理3、Canal环境搭建2.1 检查binlog功能是否开启2.2 开启binlog功能2.2.1 修改mysql的配置文件my.cnf2.2.2 重启mysql2.2.3 再次登录mysql客户端,查看log_bin变量2.3 在mysql里面添加以下的相关用户和权限4、下载安装Canal服务4.1 下载之后,放到目录中,解压文件4.2 修改配置文件4.3 进入bin目录下启动5、代码整合5.1 创建canal_client模块5.2 引入相原创 2021-11-22 21:24:02 · 1937 阅读 · 4 评论 -
springboot实现树形结构的分类显示
文章目录1、实现效果2、数据库中的表结构3、后端接口实现3.1 针对返回的数据创建对应的实体类3.2 编写具体封装代码3.3 swagger测试1、实现效果我们在开发中都会遇到树形控件,今天就来实现这个凡人的功能,我这里这树形结构比较简单,只有二级分类,这里只写出后端实现,前端你只需要把数据拿到赋值给vue的树形控件即可,前端实现方式太简单,这里不做讨论。我们最终想要的数据结构为: "list": [ { "id": "1178214681118568449",原创 2021-10-31 14:31:32 · 2667 阅读 · 1 评论 -
阿里EasyExcel读写excel文件的基本使用
EasyExcel读写excel文件1、EasyExcel简介2、对excel的写操作1.1 创建一个普通的maven项目并引入相关依赖1.2 创建实体类1.3 实现写操作1.3.1 创建你方法循环设置要添加到excel的数据3、对excel的读操作3.1 创建实体类3.2 创建读取操作的监听器3.3 调用方法实现excel文件读操作1、EasyExcel简介Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不原创 2021-10-31 14:09:49 · 832 阅读 · 0 评论 -
阿里云OSS文件上传
阿里云OSS文件上传1、开通“对象存储OSS”服务1.1 申请阿里云账号1.2 实名认证1.3 开启“对象存储OSS”服务1.4 进入管理控制台2、创建Bucket3、创建accesskeys许可证4、搭建阿里云OSS操作项目环境4.1 创建项目4.2 在项目中引入相关oss依赖4.3 创建配置文件5、上传文件到阿里云接口实现5.1 创建常量类,读取配置文件内容5.2 创建controll,创建service5.3 在service实现类中实现上传文件到oss过程6、文件上传测试6.1 使用swagger测原创 2021-10-30 19:35:44 · 645 阅读 · 2 评论 -
Redis结合SpringBoot的秒杀案例
文章目录1、构建SpringBoot项目2、启动类3、在Controller层里定义秒杀接口4、在Service层里通过lua脚本实现秒杀效果5、配置redis连接参数6、演示秒杀效果6.1 准备redis环境6.2 启动项目6.3 多线程形式发起秒杀请求 秒杀(也叫限时秒杀),是商家在某特定时间段里大幅降低网络商品价格的一种营销活动。这里用Redis整合SpringBoot框架的方法给出一个秒杀案例1、构建SpringBoot项目搭建名为quickbuy的springboot项目,相关的依赖包如下原创 2021-09-28 23:14:00 · 755 阅读 · 5 评论 -
前后端分离博客小项目
1、前言一个前后端分离的博客小项目,为了适合后续的拓展和微服务化体系等,选择SpringBoot作为后端开发框架。然后数据层,我们常用的是Mybatis,易上手,方便维护。但是单表操作比较困难,特别是添加字段或减少字段的时候,比较繁琐,所以这里我推荐使用Mybatis Plus(mp.baomidou.com/),为简化开发而生,只… CRUD 操作,从而节省大量时间。作为一个项目骨架,权限也是我们不能忽略的,Shiro配置简单,使用也简单,所以使用Shiro作为我们的的权限。考虑到项目可能需要部署多原创 2021-08-11 11:33:19 · 268 阅读 · 0 评论 -
SpringSecurity记住登录实现(Web权限方案)
SpringSecurity记住登录实现一、记住登录流程二、实现原理三、实现步骤2.1 创建数据库表2.2 配置类,注入数据源,配置操作数据库对象2.3 配置类配置自动登录2.4 登录前端页面login.html四、运行测试一、记住登录流程二、实现原理三、实现步骤2.1 创建数据库表其实可以通过查看源码直接建表。如下图所示,你也可以直接将源码中的sql语句复制,然后再建表。这里我们使用自己的sql语句建表。CREATE TABLE `persistent_logins` ( `user原创 2021-06-19 11:21:12 · 257 阅读 · 0 评论 -
SpringSecurity认证授权的注解使用
SpringSecurity认证授权的注解使用1、@Secured注解1.1 启动类开启注解1.2 在controller的方法上面使用注解,设置角色1.3 userDetailService设置用户角色1.4 启动测试2、@PreAuthorize注解2.1 开启注解功能2.2 在controller的方法上添加注解3、@PostAuthorize注解4、@PostFilter注解5、@PreFilter注解1、@Secured注解判断是否具有角色,另外需要注意的是这里匹配的字符串需要添加前缀“ROL原创 2021-06-18 19:26:10 · 372 阅读 · 0 评论 -
SpringSecurity配置403权限访问页面
SpringSecurity配置403权限访问页面1、未配置之前2、开始配置2.1 新建一个unauth.html2.2 在继承WebSecurityConfigurerAdapter的配置类中设置2.3 继承UserDetailsService接口的实现类3、测试1、未配置之前2、开始配置2.1 新建一个unauth.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"原创 2021-06-18 12:19:13 · 572 阅读 · 1 评论 -
SpringSecurity自定义设置登录界面
SpringSecurity自定义设置登录界面1、先创建自定义登录页2、在配置类中实现相关的配置3、测试1、先创建自定义登录页login.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form action="/us原创 2021-06-18 11:56:14 · 471 阅读 · 1 评论 -
SpringSecurity中web权限方案认证(查询数据库认证)
SpringSecurity中web权限方案认证1、引入依赖2、创建数据库和数据库表3、创建users表对应的实体类4、整合mapper,创建接口,继承BaseMapper接口5、在MyUserDetailsService调用mapper里面的方法查询数据库进行用户认证6、在启动类添加注解MapperScan7、配置数据库信息8、测试用的controller9、以debug方式启动项目10 正常运行项目1、引入依赖引入lombok、mybatis-plus、springsecurity、mysql相关依原创 2021-06-17 22:24:05 · 324 阅读 · 1 评论 -
SpringBoot2.5.1整合thymeleaf以及springsecurity后sec:authorize无效的问题
sec:authorize无效的问题1、问题描述2、解决方案:1、问题描述修改之前我的pom.xml文件如下,但是sec:authorize一直不生效。<?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:schemaLocat原创 2021-06-16 17:59:39 · 564 阅读 · 0 评论 -
SpringBoot异步任务
SpringBoot异步任务一、序言二、测试步骤1、创建AsyncService2、创建AsyncController3、不使用异步注解时运行测试:4、使用异步注解5、测试一、序言在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。二、测试步骤1、创建AsyncService这里先不加@Async注解,并让线原创 2021-06-15 17:32:48 · 255 阅读 · 0 评论 -
SpringBoot邮件任务
SpringBoot邮件任务1、引入starter2、发送流程:3、配置application.properties4、测试简单邮件发送5、测试带附件的邮件发送1、引入starter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependenc原创 2021-06-15 17:11:44 · 212 阅读 · 0 评论 -
springboot配置RedisTemplate和RedisCacheManager
1、项目目录结构:2、application.properties配置文件:我这里redis连的是虚拟机上面的,你改下host地址就行spring.datasource.url=jdbc:mysql://localhost:3306/spring_cachespring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.原创 2021-05-21 15:34:03 · 1437 阅读 · 0 评论 -
springboot整合druid数据源并开启druid后台监控
springboot整合druid数据源并开启druid后台监控1、引入依赖2、application.yml文件:3、编写配置文件:4、运行测试4.1 访问:`http://localhost:8080/druid`4.2 输入代码里面写的admin和1234564.3 写个controller测试:4.4 访问:`http://localhost:8080/query`4.5 **再次查看druid的SQL监控:(可以看到刚才查询的SQL了)**ps:数据库表结构:1、引入依赖pom.xm原创 2021-05-18 15:35:06 · 568 阅读 · 0 评论 -
SpringBoot2.x自动创建表并初始化数据库
1、使用springboot jdbc初始化数据库项目结构:1.1 application.yml配置文件:spring: datasource: username: root password: 123456 url: jdbc:mysql://192.168.56.101:3306/jdbc driver-class-name: com.mysql.cj.jdbc.Driver initialization-mode: always schem原创 2021-05-18 12:04:35 · 460 阅读 · 0 评论 -
SpringBoot2.X注册Servlet三大组件(Servlet、Filter、Listener)
一、自定义三大组件1.1、自定义Servletpackage com.atguigu.springboot.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOEx原创 2021-05-12 19:57:53 · 188 阅读 · 0 评论 -
SpringBoot整合日志框架
文章目录1、日志框架2、SLF4j使用1、如何在系统中使用SLF4j https://www.slf4j.org2、遗留问题3、SpringBoot日志关系4、日志使用;1、默认配置2、指定配置5、切换日志框架1、日志框架小张;开发一个大型系统; 1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件? 2、框架来记录系统的一些运行时信息;日志框架 ; zhanglogging.jar; 3、高大上的几个功能?异步模式?自动归档?xxxx?转载 2021-05-01 22:39:05 · 1459 阅读 · 0 评论 -
SpringBoot配置文件详解
文章目录1、配置文件2、YAML语法:1、基本语法2、值的写法字面量:普通的值(数字,字符串,布尔)对象、Map(属性和值)(键值对):数组(List、Set):3、配置文件值注入1、properties配置文件在idea中默认utf-8可能会乱码2、@Value获取值和@ConfigurationProperties获取值比较3、配置文件注入值数据校验4、@PropertySource&@ImportResource&@Bean4、配置文件占位符1、随机数2、占位符获取之前配置的值,如果没转载 2021-05-01 18:02:31 · 898 阅读 · 0 评论 -
SpringBoot单元测试(实例)
SpringBoot单元测试实例测试实例1、创建基于Spring Data JPA的Web应用ch9_22、由于我springBoot是2.4.4,需要额外引入JUnit3、配置数据库连接等基本属性4、创建持久化实体类5、创建数据访问层6、创建控制器层7、创建测试用例7.1、创建基于@WebMvcTest的测试用例7.2、创建基于@SpringBootTest的测试用例8、运行8.1 运行WebMvcTestStudentController测试类,执行结果如下:8.2、执行SpringBootTestSt原创 2021-04-09 21:39:17 · 1118 阅读 · 0 评论 -
Spring Boot的单元测试(概念)
Spring Boot的单元测试一、前言二、Spring Boot单元测试程序模板三、测试Service一、前言测试是系统开发中非常重要的工作,单元测试是在帮助开发人员编写高品质的程序、提升代码质量方面发挥了极大的作用。Spring Boot未测试提供了一个名为spring-boot-starter-test的Starter。使用Spring Initializr创建Spring Boot应用时,将自动添加spring-boot-starter-test依赖。这样在测试时,就没有必要再添加额外的jar原创 2021-04-09 21:12:34 · 343 阅读 · 0 评论 -
Spring Boot的热部署
Spring Boot的热部署一、前言二、模板引擎的热部署三、使用Spring-boot-devtools进行热部署IDEA准备工作1、开启代码自动编译2、允许程序运行的时候自动编译四、代码测试热部署1、创建SpringBoot Web应用ch9_12、在配置文件application.properties中添加如下内容:3、创建控制器类4、测试运行一、前言在开发中,业务变化、代码错误等发生时,难免修改程序。为了正确运行出修改的结果,我们往往需要重启应用,否则将不能看到修改后的结果,这一启动过程是非常浪原创 2021-04-09 16:22:27 · 329 阅读 · 0 评论 -
JMS实例(使用ActiveMQ)
使用ActiveMQ实现JMS实例一、下载ActiveMQ:二、JMS实例1、创建基于Apache ActiveMQ5的springboot应用2、配置ActiveMQ的消息代理地址:3、定义消息4、发送消息5、创建消息接收者6、定义消息监听器接收消息7、运行测试一、下载ActiveMQ:ActiveMQ官网下载:http://activemq.apache.org/activemq-5015010-releasecsdn下载:https://download.csdn.net/download/qq原创 2021-04-09 01:18:32 · 302 阅读 · 0 评论 -
Spring Boot整合Redis
Spring Boot整合Redis一、整合Redis1、Spring Data Redise2、Serializer3、Spring Boot的支持二、使用StringRedisTemplate和RedisTemplate1、创建基于spring-boot-starter-data-redis依赖的Spring Boot Web应用ch6_92、配置application.properties文件3、创建实体类4、创建数据访问层5、创建控制器层6、修改配置类Ch69Application7、运行测试一、原创 2021-04-01 15:12:50 · 685 阅读 · 1 评论 -
SpringBoot整合MongoDB
文章目录一、Spring对MongoDB的支持1、对象/文档映射注解2、MongoTemplate3、Repository二、Spring Boot对MongoDB的支持三、增删改查1、建立基于Spring-boot-starter-data-mongodb依赖的Spring Boot Web应用2、配置application.properties文件3、创建领域模型4、创建数据访问接口5、创建控制层6、运行一、Spring对MongoDB的支持spring对MongoDB的支持主要是通过Spring原创 2021-04-01 14:11:41 · 1148 阅读 · 0 评论 -
SpringBoot使用Hibernate Validator表单验证
文章目录一、要求二、实现步骤2.1 新建实体类2.2、创建控制器类UserController2.3、在templates目录下加入input.html和success.html2.4、修改application.properties文件2.5 启动Practice51Application主类,然后访问[http://localhost:8080/practice5_1/add](http://localhost:8080/practice5_1/)2.6输入如下数据,点击添加一、要求用户名必须输入原创 2021-03-29 23:27:54 · 335 阅读 · 0 评论 -
IntelliJ IDEA使用spring Initializr快速构建SpringBoot项目
文章目录步骤1、New->Project2、进入选择Spring Boot版本和依赖管理的窗口。3、项目目录结构步骤1、New->Project选择spring Initializr,如下图点击Next点击Next2、进入选择Spring Boot版本和依赖管理的窗口。这里我选择web,Next3、项目目录结构自动生成的pom.xml如下所示:<?xml version="1.0" encoding="UTF-8"?><project xmln原创 2021-03-26 22:54:54 · 602 阅读 · 0 评论