使用环境项目环境:Idea2020.2.3、Maven3.6.3、springboot2.1.4本人在创建springboot项目时spring-boot-maven-plugin及Idea右侧Plugins划红,导致项目启动打包有问题。虽然项目能跑,但是后续开发中可能会出现不可预知的问题。太碍眼决定把它解决掉。可能原因:1、maven没有刷新;2、Maven插件下载速度太慢,从国外的中央仓库下载;3、也有可能是本地springboot版本问题等....分析思路:1、到仓库中发现有这插件,然后clean...
继续阅读 >
分类:spring
2021
04-27
04-27
SpringBoot集成Spring security JWT实现接口权限认证
1、添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency>2、集成JWT工具类(JwtUtils)packagecom.dreamteam.chdapp.utils;importio.jsonwebtoken.Jwts;importio.jsonwebtoken.SignatureAlgorithm;impor...
继续阅读 >
2021
04-27
04-27
通过Spring Security魔幻山谷讲解获取认证机制核心原理
本文基于Springboot+Vue+SpringSecurity框架而写的原创学习笔记,demo代码参考《SpringBoot+SpringCloud+Vue+Element项目实战:手把手教你开发权限管理系统》一书。这是一个古老的传说。在神秘的Web系统世界里,有一座名为SpringSecurity的山谷,它高耸入云,蔓延千里,鸟飞不过,兽攀不了。这座山谷只有一条逼仄的道路可通。然而,若要通过这条道路前往另一头的世界,就必须先拿到一块名为token的令牌,只有这样,道路上戍守关...
继续阅读 >
2021
04-27
04-27
Spring MVC实现文件上传和下载
本文实例为大家分享了SpringMVC实现文件上传和下载的具体代码,供大家参考,具体内容如下文件上传1、导入主要依赖<!--文件上传--><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency><!--servlet-api导入高版本的--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version></d...
继续阅读 >
2021
04-27
04-27
手把手教你写一个spring IOC容器的方法
本文分享自华为云社区《手把手教你写一个springIOC容器》,原文作者:技术火炬手。spring框架的基础核心和起点毫无疑问就是IOC,IOC作为spring容器提供的核心技术,成功完成了依赖的反转:从主类的对依赖的主动管理反转为了spring容器对依赖的全局控制。今天就带大家手写一个springIOC容器。第0步(准备工作):(1)JDK1.8及java环境变量(2)maven包及maven环境变量(3)idea第1步(创建项目,引入tomcat包)PS:由于该项目的...
继续阅读 >
2021
04-27
04-27
Spring Boot 集成 Kafkad的实现示例
SpringBoot作为主流微服务框架,拥有成熟的社区生态。市场应用广泛,为了方便大家,整理了一个基于springboot的常用中间件快速集成入门系列手册,涉及RPC、缓存、消息队列、分库分表、注册中心、分布式配置等常用开源组件,大概有几十篇文章,陆续会开放出来,感兴趣同学请提前关注&收藏消息通信有两种基本模型,即发布-订阅(Pub-Sub)模型和点对点(PointtoPoint)模型,发布-订阅支持生产者消费者之间的一对多关系,而点对...
继续阅读 >
2021
04-27
04-27
关于Spring Boot对jdbc的支持问题
项目结构pom.xmlpom.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://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>spring-boot-02</artifactId><groupId>com.keafmd</groupId><versi...
继续阅读 >
2021
04-25
04-25
浅谈Spring中IOC的理解和认知
IOC的推导1.1、模拟一个正常查询信息的业务流程:①mapper层:因为没有连接数据库,这里我们写一个mapper的实现类来模拟数据的查询publicinterfacePerMapper{voidgetPerInfo();}publicclassStudentMapperImplimplementsPerMapper{@OverridepublicvoidgetPerInfo(){System.out.println("我是一个学生");}}②service层:service的作用是查询人的信息publicinterfacePersonService{voidg...
继续阅读 >
1简介在之前的文章《Springboot集成SpringSecurity实现JWT认证》讲解了如何在传统的Web项目中整合SpringSecurity和JWT,今天我们讲解如何在响应式WebFlux项目中整合。二者大体是相同的,主要区别在于ReactiveWebFlux与传统Web的区别。2项目整合引入必要的依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency><dependency><groupId>org.sprin...
继续阅读 >
2021
04-07
04-07
Spring和SpringBoot之间的区别
在本教程中,我们将研究标准Spring框架和SpringBoot之间的区别。我们将重点讨论Spring的模块,如MVC和Security,在核心Spring中使用时与在Boot中使用时的区别。Spring是什么?简单地说,Spring框架为开发Java应用程序提供了全面的基础设施支持。它包含了一些很好的功能,比如依赖注入,以及一些现成的模块,比如:SpringJDBCSpringMVCSpringSecuritySpringAOPSpringORMSpringTest这些模块可以大大缩短应用程...
继续阅读 >
2021
04-07
04-07
Spring AOP 实现自定义注解的示例
自工作后,除了一些小项目配置事务使用过AOP,真正自己写AOP机会很少,另一方面在工作后还没有写过自定义注解,一直很好奇注解是怎么实现他想要的功能的,刚好做项目的时候,经常有人日志打得不够全,经常出现问题了,查日志的才发现忘记打了,所以趁此机会,搜了一些资料,用AOP+自定义注解,实现请求拦截,自定义打日志,玩一下这两个东西,以下是自己完的一个小例子,也供需要的同学参考。1.注解如下:packagecn.bridge...
继续阅读 >
2021
04-07
04-07
SpringCloud Stream使用解析
SpringCloudStream官方定义SpringCloudStream是一个构建消息驱动微服务的框架。应用通过inputs和outputs来与SpringCloudStream中binder对象交互。通过我们配置来binding(绑定),而SpringCloudStream中的binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与SpringCloudStream交互就可以方便使用消息驱动的方式。通过使用SpringIntegration来连接消息代理中间件以及实现消息事件驱动。目前仅支持RabbitMQ和k...
继续阅读 >
2021
03-30
03-30
spring BeanProcessor接口详解
1.简单认识BeanProcessorBeanProcessor的理解BeanProcessor是spring中的一个重要接口,他有两个接口方法一个是postProcessBeforeInitialization前置初始化,另一个是postProcessAfterInitialization后置初始化。从名称上就可以大概清楚这个接口的作用:在一个业务流程的前后加入两个接口方法,当执行这个业务流程时,就会触发这两个接口方法的执行。简单的总结一下有两个要点:在业务流程中,根据BeanProcessor接口方法加在不同...
继续阅读 >
2021
03-24
03-24
Spring Boot 接口参数加密解密的实现方法
因为有小伙伴刚好问到这个问题,松哥就抽空撸一篇文章和大家聊聊这个话题。加密解密本身并不是难事,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办法,这种方式虽然粗暴,但是灵活,因为可以拿到一手的请求参数和响应数据。不过SpringMVC中给我们提供了ResponseBodyAdvice和RequestBodyAdvice,利用这两个工具可以对请求和响应进行预处理,非常方便。所以今天这篇文章有两个目的:分享...
继续阅读 >
2021
03-23
03-23
详解Spring事务回滚和事务提交
事务回滚回滚逻辑如下:判断是否存在事务,只有存在事务才执行回滚根据异常类型判断是否回滚。如果异常类型不符合,仍然会提交事务回滚处理详细解析判断是否存在事务,只有存在事务才执行回滚,即是否有@Transactional事务注解或相关事务切面根据异常类型判断是否回滚。如果异常类型不符合,仍然会提交事务根据@Transactional注解中rollbackFor、rollbackForClassName、noRollbackForClassName配置的值,找到最符合ex...
继续阅读 >
2021
03-23
03-23
Spring事务执行流程及如何创建事务
接上节内容,Spring事务执行原理通过创建一个BeanFactoryTransactionAttributeSourceAdvisor,并把TransactionInterceptor注入进去,而TransactionInterceptor实现了Advice接口。而SpringAop在Spring中会把Advisor中的Advice转换成拦截器链,然后调用。执行流程获取对应事务属性,也就是获取@Transactional注解上的属性获取TransactionManager,常用的如DataSourceTransactionManager事务管理在目标方法执行前获取事务信息...
继续阅读 >