Spring
文章平均质量分 83
purple.taro
想生活的更好,希望得到你的帮忙。
展开
-
Nacos与springcloud适配版本对应
组件版本关系每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本(经过验证,自行搭配各组件版本不保证可用)如下表所示(最新版本用*标记):Spring Cloud Alibaba Version Sentinel Version Nacos Version RocketMQ Version Dubbo Version Seata Version 2021.0.1.0* 1.8.3 1.转载 2022-05-04 06:43:58 · 11693 阅读 · 0 评论 -
图文详解 Spring AOP,看完必懂
学习一个模块的设计主要是看接口设计,通过接口设计我们就能够从整体知道模块怎么实现的,具体实现就是组装这些接口来进行实现的,知道了模块接口设计,实现也就变得很简单了。本文主要从aop背景出发点,来自己去想需要哪些接口,就能够描述一个模块的功能设计规则。AOP产生背景使用面向对象编程 ( OOP )有一些弊端,当需要为多个不具有继承关系的对象引人同一个公共行为时,例如日志、安全检测等,我们只有在每个对象里引用公共行为,这样程序中就产生了大量的重复代码,程序就不便于维护了。所以就有了一个对面向转载 2022-03-16 11:38:24 · 285 阅读 · 0 评论 -
Spring 系列篇
直接上链接,不用一个个复制粘贴了Spring 系列篇之Bean基础https://www.jianshu.com/p/449e1b9583dc雪狼_lykos 的其他文章直接看https://www.jianshu.com/u/6edc5d903c1e原创 2022-03-03 13:19:19 · 209 阅读 · 0 评论 -
spring5源码分析系列
spring5源码分析系列(一)——spring5框架模块https://segmentfault.com/a/1190000021318475spring5源码分析系列(二)——spring核心容器体系结构https://segmentfault.com/a/1190000021354774?utm_source=sf-similar-articlespring5源码分析系列(三)——IOC容器的初始化(一)https://segmentfault.com/a/1190000021365012?utm..原创 2022-03-03 12:57:07 · 649 阅读 · 0 评论 -
Spring基于Annotation的依赖注入--简单说
使用 Spring 的项目中问题存在Bean之间的依赖,例如在某服务启动前要初始化各类词典,主要方式有显式声明Bean和隐式注解注入2种,本文着重介绍后一种。1. 依赖注入简介 首先我们定义“依赖”是什么:如果在Class A中有Class B的实例,则称A依赖B。现在我们来构造一个依赖:public class UserDao { DBConnection conn; public UserDao() { // 先初始化数据库连接转载 2022-03-03 12:46:49 · 525 阅读 · 0 评论 -
@ResponseBody详解
@ResponseBody的作用其实是将java对象转为json格式的数据。@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。@ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入原创 2022-03-01 13:35:41 · 887 阅读 · 0 评论 -
Spring的@Scheduled任务调度
一. 定时任务实现方式定时任务实现方式:Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。 使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,有空介绍。 使用Spring的@Scheduled注解配合@EnableScheduling一起使用。 Sprin转载 2022-03-01 13:19:05 · 673 阅读 · 0 评论 -
Spring Security之WebSecurityConfigurerAdapter示例
直接上代码package com.example.springsecurity.config;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Configuration;import org.springframework.http.HttpMethod;import org.springframework.security.原创 2021-10-28 07:06:22 · 476 阅读 · 0 评论 -
spring security动态配置url权限认证
本文介绍的spring security动态配置url权限认证基于的是spring-boot-2.0.0、spring-security 5.X来编写的。笔者浏览完spring security官方文档之后,发现并没有详细的介绍说明如何动态的配置我们的url权限认证。spring security默认的权限配置确只会在启动工程的时候初始化一次url权限配置。但是实际情况我们项目的权限会随时动态的更改,这样我们就需要重新启动项目以便新配置的权限生效。这样的处理显然不合理。当然spring是具有非常好的拓展转载 2021-10-24 06:21:53 · 3213 阅读 · 0 评论 -
SpringSecurity + JWT 实现单点登录
本文我们来看下 SpringSecurity + JWT 实现单点登录操作,本文 2W 字,预计阅读时间 30 min,文章提供了代码骨架,建议收藏。一、什么是单点登陆单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统二、简单的运行机制单点登录的机制其实是比较简单的,用一个现实中的例子做比较。某公园内部有许多独立的景点,游客可以在各个景点门口单独买票。对.转载 2021-10-24 06:11:35 · 1122 阅读 · 0 评论 -
SpringBoot 五种热部署方式,提高生产效率
在SpringBoot中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存,如下:1、模板热部署Thymeleaf的配置:spring.thymeleaf.cache=falseFreeMarker的配置:注 意文末有:7701页互联网大厂面试题spring.freemarker.cache=falseGroovy的配置:spring.gro..转载 2021-10-19 05:29:13 · 191 阅读 · 0 评论 -
SpringBoot 总结:核心功能和优缺点
SpringBoot 核心功能1、独立运行Spring项目SpringBoot 可以以jar包形式独立运行,运行一个SpringBoot项目只需要通过java -jar xx.jar来运行2、内嵌servlet容器SpringBoot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目3、提供starter简化Maven配置spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会转载 2021-10-17 06:01:37 · 1112 阅读 · 0 评论 -
手把手教你Spring实现DB读写分离 | Spring系列52篇
1、背景大多数系统都是读多写少,为了降低数据库的压力,可以对主库创建多个从库,从库自动从主库同步数据,程序中将写的操作发送到主库,将读的操作发送到从库去执行。今天的主要目标:通过 spring 实现读写分离。读写分离需实现下面 2 个功能:1、读的方法,由调用者来控制具体是读从库还是主库2、有事务的方法,内部的所有读写操作都走主库2、思考 3 个问题1、读的方法,由调用者来控制具体是读从库还是主库,如何实现?可以给所有读的方法添加一个参数,来控制读从库还是主库。2、数据源转载 2021-09-24 01:03:40 · 286 阅读 · 0 评论 -
导致Spring事务失效,常见的情况有哪些?| Spring系列第51篇
这算是spring事务第9篇文章了,花了这么多篇文章介绍事务这块的知识,说明事务这块的东西确实比较多、知识点比较细,也非常重要,希望大家能够重视起来,吃透这块的知识。本文2个目的:1、使用spring事务的过程中,哪些情况会导致事务失效?2、遇到事务相关bug时,有哪些方法可以快速定位bug?3、文末有福利1、事务失效的7种情况 未启用spring事务管理功能 方法不是public类型的 数据源未配置事务管理器 自身调用问题 异常类型错误转载 2021-09-24 00:58:23 · 152 阅读 · 0 评论 -
如何控制Spring事务拦截器的顺序?| Spring系列第50篇
1、前言咱们知道 Spring 事务是通过aop的方式添加了一个事务拦截器,事务拦截器会拦截目标方法的执行,在方法执行前后添加了事务控制。那么spring事务拦截器的顺序如何控制呢,若我们自己也添加了一些拦截器,此时事务拦截器和自定义拦截器共存的时候,他们的顺序是怎么执行的?如何手动来控制他们的顺序??可能有些朋友会问,控制他们的顺序,这个功能有什么用呢?为什么要学这个学会了这些,你可以实现很多牛逼的功能,比如1、读写分离2、通用幂等框架3、分布式事务框架对这些有兴趣么?那么转载 2021-09-24 00:52:13 · 698 阅读 · 0 评论 -
实战篇:手把手带你实现事务消息!| Spring系列第49篇
1、本文2个目的1、讨论一下消息投递的5种方式2、带你手写代码,实现事务消息的投递2、讨论一下消息投递的5种方式2.1、业务场景电商中有这样的一个场景:商品下单之后,需给用户送积分,订单表和积分表分别在不同的db中,涉及到分布式事务的问题。我们通过可靠消息来解决这个问题: 商品下单成功之后送积分的操作,我们使用mq来实现 商品下单成功之后,投递一条消息到mq,积分系统消费消息,给用户增加积分 我们主要讨论一下,商品下单及投递消息到mq的操作,如何实现?每种方式优缺转载 2021-09-24 00:49:58 · 226 阅读 · 0 评论 -
上盘硬菜,@Transaction源码深度解析 | Spring系列第48篇
大家好,今天咱们通过源码来了解一下spring中@Transaction事务的原理。开始本文之前,下面这些知识需提前了解下1、吃透Spring AOP2、Spring编程式事务源码解析在这里插播两句,整个系列前后知识是有依赖的,大家最好按顺序阅读,这样不会出现无法理解的情况,若跳着读,可能会比较懵。。。1、环境 jdk1.8 Spring版本:5.2.3.RELEASE mysql5.7 2、@Transaction 事务的用法咱们先来回顾一下,@Tra转载 2021-09-24 00:47:43 · 326 阅读 · 0 评论 -
熬夜,带你吃透Spring事务源码 | Spring系列第57篇
本文主要内容:Spring编程式事务源码深度解析,理解spring事务的本质开始本文之前,有些必备的知识需要大家先了解一下 玩转JdbcTemplate 详解Spring编程式事务 详解Spring声明式事务(@EnableTransactionManagement、@Transactional) 详解Spring事务7种传播行为 详解Spring多数据源事务 目录环境 jdk1.8 Spring版本:5.2.3.RELEASE转载 2021-09-24 00:43:19 · 170 阅读 · 0 评论 -
Spring多数据源事务如何玩? | Spring系列46篇
本篇内容:通过原理和大量案例带大家吃透Spring多数据源事务。Spring中通过事务管理器来控制事务,每个数据源都需要指定一个事务管理器,如果我们的项目中需要操作多个数据库,那么需要我们配置多个数据源,也就需要配置多个数据管理器。多数据源事务使用2个步骤1、为每个数据源定义一个事务管理器如下面代码,有2个数据源分别连接数据库ds1和ds2,然后为每个数据源定义了1个事务管理器,此时spring容器中有2个数据源和2个事务管理器。//数据源1@BeanpublicDataSour.转载 2021-09-24 00:40:49 · 332 阅读 · 0 评论 -
带你吃透Spring事务7种传播行为| Spring第45篇
本文详解Spring事务中的7种传播行为,还是比较重要的。环境 jdk1.8 Spring 5.2.3.RELEASE mysql5.7 什么是事务传播行为?事务的传播行为用来描述:系统中的一些方法交由spring来管理事务,当这些方法之间出现嵌套调用的时候,事务所表现出来的行为是什么样的?比如下面2个类,Service1中的m1方法和Service2中的m2方法上面都有@Transactional注解,说明这2个方法由spring来控制事务。但是注意m1中2行转载 2021-09-24 00:38:47 · 167 阅读 · 0 评论 -
详解 spring 声明式事务(@Transactional)
spring事务有2种用法:编程式事务和声明式事务。编程式事务上一篇文章中已经介绍了,不熟悉的建议先看一下编程式事务的用法。这篇主要介绍声明式事务的用法,我们在工作中基本上用的都是声明式事务,所以这篇文章是比较重要的,建议各位打起精神,正式开始。什么是声明式事务?所谓声明式事务,就是通过配置的方式,比如通过配置文件(xml)或者注解的方式,告诉spring,哪些方法需要spring帮忙管理事务,然后开发者只用关注业务代码,而事务的事情spring自动帮我们控制。比如注解的方式,只需在方法转载 2021-09-24 00:18:38 · 19523 阅读 · 6 评论 -
小姐姐非要问我:spring编程式事务是啥?
本文开始,大概用10篇左右的文章来详解spring中事务的使用,吃透spring事务。本文内容详解spring中编程式事务的使用。spring中使用事务的2种方式spring使事务操作变的异常容易了,spring中控制事务主要有2种方式 编程式事务:硬编码的方式 声明式事务:大家比较熟悉的注解@Transaction的方式 编程式事务什么是编程式事务?通过硬编码的方式使用spring中提供的事务相关的类来控制事务。编程式事务主要有2种用法 方式1:通过P转载 2021-09-24 00:14:22 · 150 阅读 · 0 评论 -
不可思议,Spring JdbcTemplate写增删改查竟然如此简单??
本来这篇文章要写spring事务的,但是事务中大部分案例会用到JdbcTemplate相关的功能,所以先把JdbcTemplate拿出来说一下。什么是JdbcTemplate?大家来回顾一下,java中操作db最原始的方式就是纯jdbc了,是不是每次操作db都需要加载数据库驱动、获取连接、获取PreparedStatement、执行sql、关闭PreparedStatement、关闭连接等等,操作还是比较繁琐的,spring中提供了一个模块,对jdbc操作进行了封装,使其更简单,就是本文要讲的Jdb转载 2021-09-24 00:12:38 · 108 阅读 · 0 评论 -
Spring、Spring MVC、MyBatis 整合文件配置详解
今天跟大家分享下SSM框架整合文件配置的知识。使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了。先总结一下SSM整合的文件配置。其实具体的用法最好还是看官方文档。Spring:http://spring.io/docsMyBatis:http://mybatis.github.io/mybatis-3/基本的组织结构和用法就不说了,前面的博客和官方文档上都非常的全面...转载 2019-09-23 08:34:37 · 88 阅读 · 0 评论