
springboot
文章平均质量分 65
让你从入门到工作
一写代码就开心
一起学编程呀,头秃的那种。
学完之后,找一份java,python开发的工作不成问题
展开
-
springboot中actuator 这个依赖的作用与使用
为了在Springboot 应用中启用Actuator,需要在构建文件中添加Actuator starter依赖。原创 2023-06-30 15:46:03 · 1329 阅读 · 0 评论 -
springboot项目,自定义 异常,接口出错在页面给展示什么?
java原创 2022-07-21 10:32:51 · 358 阅读 · 0 评论 -
springboot 项目里面配置拦截器(提供代码)
java原创 2022-07-21 10:25:05 · 505 阅读 · 0 评论 -
Springboot 添加server.servlet.context-path有什么用
springboot原创 2022-07-21 10:16:51 · 2398 阅读 · 1 评论 -
springboot实现下载附件
目录controller层Service层springboot实现下载附件controller层 public R fjxz(String bh){ HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); xzServcie.xz(bh,response);原创 2022-05-27 10:50:41 · 864 阅读 · 0 评论 -
springboot项目整合token,实现项目的认证与授权(提供代码)
目录1 jwt验证流程2 token组成3 代码实现1 jwt验证流程首先,前端通过Web表单将自己的用户名和密码发送到后端的接口。这一过程- -般是一 个HTTP POST请求。建议的方式是通过SSL加密的传输(https协议) ,从而避免敏感信息被嗅探。后端核对用户名和密码成功后,将用户的id等其他信息作为JWT Payload (负载),将其与头部分别进行Base64编码拼接后签名,形成一个JWT(Token)。形成的JWT就是一个形同11. zzz. xxx的字符串。token he原创 2022-05-21 17:01:06 · 3727 阅读 · 6 评论 -
springboot的配置文件名称可以改嘛,咋改
这里写目录标题1 springboot的配置文件名称可以改嘛,咋改1 springboot的配置文件名称可以改嘛,咋改可以改,我们不想要application.yml默认的名字,或者在不同的环境下,依赖的外部资源是不一样的。比如,在windows上开发,在linux下进行测试时,无法将开发环境和测试i环境构造成一致的。此时,就需要两个配置文件来解决此事。开发环境一个配置文件,测试环境一个配置文件。我们写3个配置文件3个配置文件的端口是不一样的,我们就改变配置文件名称,看看启动的时候会使用哪个端原创 2022-05-11 11:13:24 · 3234 阅读 · 2 评论 -
java日志框架(二)Log4j的学习,这个是什么,如何配置输出到文件,数据库
目录Log4j是什么组件Loggers(日志记录器)Appenders(输出控制器)Layouts(日志格式化)日志输出格式利用例子解读日志级别如何利用配置文件将日志输出到文件Log4j是什么组件Loggers(日志记录器)Appenders(输出控制器)Layouts(日志格式化)日志输出格式利用例子解读1 创建maven项目,导入log4j依赖 <dependencies> <dependency> &原创 2021-07-13 21:42:25 · 246 阅读 · 0 评论 -
java日志框架(一)JUL 学习 ,这个是什么,他在代码中如何使用,一篇文章讲清楚
这里写目录标题JUL 是什么JUL组件介绍代码中如何使用(控制台输出)日志级别自定义输出级别输出日志到文件(磁盘文件中)日志对象父子关系配置文件使用方法总结JUL 是什么JUL全称Java util Logging是java原生的日志框架,使用时不需要另外引用第三方类库,相对其他日志框架使用方便,学习简单,能够在小型应用中灵活使用。也就是主要就是学习那个包JUL组件介绍代码中如何使用(控制台输出)1 首先创建一个maven项目2 写对应代码第三个方式: // 通过占原创 2021-07-10 18:07:25 · 2122 阅读 · 1 评论 -
SpringBoot怎么设置接口超时时间?
SpringBoot设置接口访问超时时间有两种方式第一个一、在配置文件application.properties中加了spring.mvc.async.request-timeout=20000,意思是设置超时时间为20000ms即20s,第二个二、还有一种就是在config配置类中加入:public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void configureAsyncS原创 2020-11-16 11:20:07 · 6015 阅读 · 2 评论 -
SpringBoot自定义错误页面
1 注册错误页面@Componentpublic class ErrorPageConfig implements ErrorPageRegistrar { @Override public void registerErrorPages(ErrorPageRegistry registry) { ErrorPage error400Page = new ErrorPage(HttpStatus.BAD_REQUEST, "/error/404"); E原创 2020-11-16 11:00:11 · 225 阅读 · 0 评论 -
利用springboot 将数据库中的数据导出为excle。还实现将excle里面的数据上传到数据库里面
利用springboot 将数据库中的数据导出为excle写一个接口,浏览器一输入这个接口,那么就可以导出数据库里面的数据到excle表里面了。要实现这个功能。我们使用springboot1 创建一个简单的springboot项目2 导入操作excle的依赖,和数据库里面的依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmln原创 2020-11-14 17:59:35 · 434 阅读 · 1 评论 -
SpEL表达式解析注解,spring的切面,并且在扩展类实现获取到注解里面的值,并且将值保存到数据库里面
当我们想要在执行完成一个方法的时候,想要将这个方法相关的日志保存到数据库里面,比如这个方法的入参,这个方法的返回的主键的值,那么这个需要使用到spring里面的aop了。也就是功能的扩展,对一个方法功能的扩展。流程:自定义一个注解,将这个注解放到方法上面,之后利用aop重写一个类,实现功能的扩展,在这个功能的扩展类里面,从注解里面获取到对应的值,注解是放在方法上,这个注解要获取方法参数里面的值,所以要用于SpEL表达式解析.在扩展类里面,要从注解里面获取到对应的值,之后将值保存到想要保存的数据库里面。原创 2020-11-09 20:16:36 · 545 阅读 · 0 评论 -
spring的切面,AOP的afterThrowing参数处理解释说明
package com.sam.annotation;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.aspectj.lang.reflect.MethodSignature;import org.springframework.stereotype.Component;import jav原创 2020-11-09 10:18:10 · 6696 阅读 · 1 评论 -
前端传过来的是json格式,springboot项目里面利用springmvc框架后端如何接收json格式的数据
前端传过来的是json格式,后端如何接收,分好几个情况。第一个,前端传的是简单的json,后端获取参数:Map<String,Object>@Controllerpublic class JsonController{ @PostMapping("/getJson") @ResponseBody public Map<String,Object> JsonController(@RequestBody Map<Strin原创 2020-10-30 14:52:52 · 3897 阅读 · 1 评论 -
springboot项目里面,关于jQuery的webjars依赖的导入,前端的引入格式是什么
1 导入jQuery的webjars依赖 <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.5.0</version> </dependency>2 前端的HTML里面导入jQuery原创 2020-10-30 14:38:55 · 1220 阅读 · 0 评论 -
springmvc框架解决跨域问题,就是前端是ajax发送的消息,后端接收不到,这个就需要解决跨域的问题了
Ajax请求是否会出现跨域问题,取决于Ajax请求的contentType类型,这里简单试了几个contentType类型:当满足跨域要求(协议、ip、端口至少有一个不一致)时,如果当前端Ajax请求的contentType类型为text/plain或application/x-www-form-urlencoded或multipart/form-data等时,不会发生跨域问题;而当前端contentType为application/json或text/html等时,会发生跨域问题。全局解决跨域只需要原创 2020-10-23 17:06:13 · 486 阅读 · 0 评论 -
SpringBoot中CommandLineRunner的作用,也就是项目启动之后就立即执行的操作
SpringBoot中CommandLineRunner的作用平常开发中有可能需要实现在项目启动后执行的功能,SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的代码放在实现的run方法中也就是项目一启动之后,就立即需要执行的动作我们只需要在项目里面简单的配置,就可以实现这个功能。简单例子package org.springboot.sample.runner;import org.springframework.boot原创 2020-10-23 16:19:18 · 1889 阅读 · 0 评论 -
springboot整合rabbitMQ系列(六)rabbitmq的应用场景
目录1 rabbitmq的应用场景1 rabbitmq的应用场景原创 2020-10-23 09:18:29 · 273 阅读 · 1 评论 -
springboot整合rabbitMQ系列(五)topics模型,这个是既有路由键,也使用通配符
这个是第五个模式发送者 @Test void testTopics() {//使用rabbitmq直接往队列里面放数据// convertAndSend()第一个参数 是 rabbitTemplate.convertAndSend("topics","user.save","基于这个user.save路由键的消息"); }这个是发送给名字为topics的交换机,路由键是user.save ,发送的消息是 : 基于这个user.sa.原创 2020-10-23 08:50:04 · 272 阅读 · 1 评论 -
springboot整合rabbitMQ系列(四)路由模型,就是必须路由键匹配之后,消费者才可以进行消费信息
第四个模型就是 路由的模型,这个就是多了一个路由键,消息里面有路由键,队列里面有路由键,只有路由键匹配之后,才可以消费者获取到数据。生产者 @Test void testRouter() {//使用rabbitmq直接往队列里面放数据// convertAndSend()第一个参数 是 rabbitTemplate.convertAndSend("directs","info","direct 模型里面发送的消息"); }这个生产者在发.原创 2020-10-22 19:29:22 · 745 阅读 · 1 评论 -
springboot整合rabbitMQ系列(三)fanout的模型,也就是广播的模型
第三个模型是广播模型,这个模型里面就要使用交换机了,生产者 @Test void testFanout() {//使用rabbitmq直接往队列里面放数据// convertAndSend()第一个参数 是 rabbitTemplate.convertAndSend("logs","","Fanout 模型里面发送的消息"); }消费者 @Component public class FanoutCustomer {原创 2020-10-22 19:15:58 · 437 阅读 · 1 评论 -
springboot整合rabbitMQ系列(二)一个队列里面的信息,让多个消费者进行消费
之前讲解了第一个模型,直接队列模型,现在开始讲解工作模型也就是有多个消费者要消费队列里面的信息,还是没有涉及到交换机。之前已经讲过,这个模型是rabbitmq默认使用轮询的方式将队列里面的信息发给多个消费者。那么在springboot项目里面如何使用第二个模型呢?发送者这个和第一个模型是一样的,发送者还是往队列里面发送消息。往work队列里面发送消息消费者既然有了发送者,现在开始写消费者@Componentpublic class WorkCustomer { @Rabbi原创 2020-10-22 18:31:01 · 3964 阅读 · 4 评论 -
springboot整合rabbitMQ系列(一)第一个模型,直接将消息发送给队列,消费端在队列里面直接拿出消息
我们之前将的是,直接使用java代码操作rabbitmq,相当于就是原生的代码操作rabbitmq,但是之后我们在项目里面,不会使用原生的java代码操作rabbitmq的,所以现在我们要将springboot项目是如何整合rabbitmq的。项目里面是如何使用rabbitmq的。以下将会分别的讲解springboot项目是如何操作5种模型的。直接使用简单的springboot项目来说5种模型创建springboot项目1 创建springboot项目...原创 2020-10-22 18:10:11 · 1607 阅读 · 1 评论 -
springboot整合springsecurity框架,重新创建子项目,看能不能携带token访问成功(分布式项目)(八)
因为是分布式的项目,现在我们再创建一个模块,这个模块和之前的差不多,但是将认证的相关的删除,因为认证是只是在一个子模块里面,只有一个服务器上面进行认证,其他的服务器上面就是验证,所以其他不管写多少个子模块,都是只是写和验证相关的代码。也就是在以后其他的模块里面,只是重写验证的过滤器重新启动这个项目,端口是9002,我们可以认为这个重写的子模块是在其他的服务器上面,现在我们以端口号的不同来区分是不同的服务器9002端口的项目,也是可以访问的,原因就是在访问的时候携带了token那么以后只要访问不同原创 2020-10-15 15:11:19 · 387 阅读 · 0 评论 -
springboot整合springsecurity框架,将自定义的过滤器配置到我们的项目里面,并且启动项目,测试功能(分布式项目)(七)
之前我们已经重写了springsecurity框架的认证的过滤器,还有验证的过滤器,但是只是写了个过滤器,还没有配置到项目里面,所以不起作用,那么如何将我们重写的过滤器配置到项目里面呢?配置新的过滤器的流程也就是在这个配置里面配置我们自定义的过滤器 //SpringSecurity配置信息 public void configure(HttpSecurity http) throws Exception { http.csrf() .disab原创 2020-10-15 14:57:02 · 763 阅读 · 0 评论 -
springboot整合springsecurity框架,重写验证的过滤器(分布式项目)(六)
根据以上的步骤,用户登录成功之后,已经拿到了对应的token。那么之后用户就可以拿这个token到各个服务器了,但是各个服务器是如何判断验证是哪个用户的么?也就是各个服务器是如何验证这个token的。重写验证的过滤器之前的springsecurity框架自己验证的时候,是有一个过滤器BasicAuthenticationFilter既然现在我们认证的代码已经重写了,所以验证的也要重写自己写一个过滤器,继承BasicAuthenticationFilter,重写里面的验证的方法doFilterInte原创 2020-10-15 14:09:23 · 2006 阅读 · 0 评论 -
springboot整合springsecurity框架,代码生成token返回给用户(提供源码)(分布式项目)(五)
在这个分布式的项目里面,已经集成了生成公钥和私钥的代码。之前我们利用springsecurity框架进行验证,认证和检验都是springsecurity框架自己做的,我们只需要简单的配置就可以实现功能。但是之前的项目是集成项目,只是在一个服务器上面,现在是分布式的项目,需要很多的服务器,项目分为很多的模块,不同的模块是在不同 的服务器上面。所以我们不能使用springsecurity框架自己的认证规则了,我们需要修改,springsecurity框架底层是过滤器,所以我们要重写人间的过滤器,写自己的认证规原创 2020-10-15 11:17:12 · 1543 阅读 · 0 评论 -
springboot整合springsecurity框架,在项目里面集成生成公钥和私钥的代码(分布式项目)(四)
之前我们已经可以使用工具类生成公钥和私钥了。因为我们现在的项目是分布式的项目,所以重新创建一个子项目,在这个子项目里面写我们生成token的代码以下就是生成的子项目先添加依赖 <parent> <artifactId>springboot_security_jwt_rsa_parent</artifactId> <groupId>com.itheima</groupId> <versi原创 2020-10-15 10:29:44 · 1046 阅读 · 0 评论 -
springboot整合springsecurity框架,根据工具类生成的公钥和私钥(分布式项目)(三)
创建springboot的分布式的项目导入依赖这里先导入3个依赖,这个是JWT的依赖,这个从JWT的官网上面找到的 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>0.10.7</version>原创 2020-10-15 09:54:24 · 698 阅读 · 0 评论 -
springboot整合springsecurity框架,什么是JWT,分析如何实现单点登录(分布式项目)(二)
什么是JWT从分布式认证流程中,我们不难发现,这中间起最关键作用的就是token,token的安全与否,直接关系到系统的健壮性,这里我们选择使用JWT来实现token的生成和校验。JWT,全称JSON Web Token,官网地址https://jwt.io,是一款出色的分布式身份校验方案。可以生成token,也可以解析检验token。JWT生成的token由三部分组成:头部:主要设置一些规范信息,签名部分的编码格式就在头部中声明。载荷:token中存放有效信息的部分,比如用户名,用户角色,过期时原创 2020-10-14 17:12:01 · 540 阅读 · 0 评论 -
springboot整合springsecurity框架,什么是单点登录,用什么技术可以实现单点登录(分布式项目)(一)
什么是分布式项目分布式,就是将一个大的项目,分为不同的业务,每一个业务都在不同的服务器上面,之前做的集中式的项目,就是在一个服务器上面,现在是在不同的服务器上面,所以通俗点说这就是分布式。什么是单点登录因为已经是分布式的项目了,各个业务在不同的服务器上面,我们登录之后,在一个服务器上面保存了当前的用户的session信息,但是要访问其他的服务器上面的业务的时候,我们不能重新登录吧?所以就需要单点登录这个功能,一次登录,多个服务器上面随意的访问,这个就是单点登录。分布式认证,即我们常说的单点登录,简称原创 2020-10-14 16:15:40 · 1103 阅读 · 0 评论 -
springboot整合springsecurity框架,开启授权,并且实现不同的用户有不同的权限,实现权限不足跳转到自定义的页面(集中式项目)(三)
不同的用户实现不同的权限,在后端进行控制在之前的ssm项目里面,我们开启授权的配置代码是因为我们要在项目里面使用授权的注解,这个默认是关闭的,之前我们在springmvc的配置里面进行开启,现在我们在springboot项目里面开启的方法是在配置类上写这个注解EnableGlobalMethodSecurity以上就开启了,之后我们就可以在controller和业务层写注解进行权限的控制了。权限不足之后,实现跳转到自定义的页面回顾之前我们咋处理的只要写以上的就可以实现现在的是spri原创 2020-10-14 15:33:35 · 864 阅读 · 1 评论 -
springboot整合springsecurity框架,整合jsp页面,并且让项目识别jsp页面,数据源配置为数据库,完成连接数据库的认证操作(集中式项目)(二)
在springboot项目里面,一般是不建议使用jsp页面的,但是还是可以使用的,我们通过springboot的启动类进行启动项目,是不识别jsp页面的,所以不同通过启动类进行启动,现在我们要使用其他的方法1 导入一个启动插件的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte原创 2020-10-14 15:21:15 · 527 阅读 · 2 评论 -
springboot整合springsecurity框架,项目架构的搭建 ,集成springsecurity框架(集中式项目)(一)
1 创建项目,导入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> 写上这个就是在原创 2020-10-14 13:51:40 · 356 阅读 · 0 评论 -
springboot系列学习(二十九): springsecurity自定义的登录的逻辑,也就是我们从数据库中拿用户名和密码 (二)
项目流程1 创建数据库2 创建一个maven项目3 导入依赖4 写连接数据库的配置文件5 配置类里面要写密码解析器的代码,这个是springsecurity框架 必须要有的@Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); }6 其他层写完。我们要写业务层,登录处理的逻辑就是在业务层。在业务层里面要将密码从数据库拿出来,所以要写m原创 2020-10-09 17:28:48 · 563 阅读 · 0 评论 -
springboot系列学习(二十八): springsecurity自定义的登录的逻辑,也就是我们从数据库中拿用户名和密码 (五)
之前的,在配置里面,我们也可以配置数据源,从数据库里面拿用户名和密码这个认证配置里面,修改一下这个方法,变为数据源的就可以但是我们还有另外的方法,也就是现在我们想要自定义登录判断的逻辑,现在是自定义逻辑,之前只要配置之后,springsecurity框架自己给你判断是不是对应的用户,判断的逻辑是框架给你的,现在我们想要自己判断,这个咋处理。以下是步骤自定义的登录的逻辑1 导入依赖只要导入依赖之后就可以使用,这个是简单的使用,有默认的登录页面,这个依赖是<dependency>原创 2020-10-09 17:17:49 · 884 阅读 · 0 评论 -
springboot系列学习(二十七):spring Security框架整合thymeleaf,记住我功能,自定义登录页面功能,小白必看(四)
spring Security框架整合thymeleaf了,现在要实现记住我功能。记住我功能这个要在配置里面进行配置记住我的功能现在的情况,我们只要登录之后,关闭浏览器,再登录,就会让我们重新登录,但是很多网站的情况,就是有一个记住密码的功能,这个该如何实现呢?很简单在授权的方法里面写这个重新启动项目,进入登录页面,多了一个记住我的按钮我们再次启动项目测试一下,发现登录页多了一个记住我功能,我们登录之后关闭 浏览器,然后重新打开浏览器访问,发现用户依旧存在!思考:如何实现的呢?其实非常简原创 2020-10-09 16:42:36 · 773 阅读 · 0 评论 -
springboot系列学习(二十六):spring Security框架整合thymeleaf,在前段也可以实现安全框架,一步一步带你整合使用,小白必看(三)
之前的认证授权,退出功能已经在配置类里面实现了。现在还有一个问题问题就是前端页面的东西,不同的权限看见的东西是不一样的,这个咋实现。之前我们可以在前段用if判断来看当前的用户的权限进行,但是现在可以和thymeleaf整合,使用这个就可以实现。具体如何做整合步骤1 导入依赖<dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-sp原创 2020-10-09 15:32:11 · 283 阅读 · 0 评论 -
springboot系列学习(二十五):springboot项目里面整合spring Security框架。一步一步带你整合使用,小白必看(二)
认证和授权,我们已经会在配置类里面写了。如果退出了,springsecurity框架给给我们写了,我们拿来用就可以了。在授权的方法里面写点进源码里面就可以继续使用这些方法,实现一些功能以上就是退出之后,跳转到一个首页...原创 2020-10-09 15:06:31 · 293 阅读 · 0 评论