
分类:spring

2021
06-05
06-05
Spring Cloud Alibaba之Sentinel实现熔断限流功能
微服务中为了防止某个服务出现问题,导致影响整个服务集群无法提供服务的情况,我们在系统访问量和业务量高起来了后非常有必要对服务进行熔断限流处理。其中熔断即服务发生异常时能够更好的处理;限流是限制每个服务的资源(比如说访问量)。spring-cloud中很多使用的是Hystrix组件来进行限流的,现在我们这里使用阿里的sentinel来实现熔断限流功能。sentinel简介这个在阿里云有企业级的商用版本应用高可用服务AHAS;现在有免费...
继续阅读 >
2021
05-29
05-29
Mybatis一级缓存和结合Spring Framework后失效的源码探究

2021
05-26
05-26
用Spring Native将SpringBoot程序转换为GraalVM
Spring发布了一个新工具SpringNativeBeta,用于将现有的SpringBoot应用程序(用Java或Kotlin编写)转换为GraalVM本机映像。目标是在springnative上支持SpringBoot应用程序。GraalVM本机映像很小,经过优化,启动速度很快。然而,与JVM相比,折衷的办法是构建时间更长,运行时优化更少。SpringNative与GraalVM团队合作,充当桥梁,确保GraalVM理解传统的SpringBoot代码。Oracle实验室的高级研究经理VojinJovanovic在谈到他们...
继续阅读 >
2021
05-26
05-26
Spring Boot实现微信小程序登录

2021
05-25
05-25
spring获取bean的源码解析
介绍前面一章说了AbstractApplicationContext中的refresh方法中的invokeBeanFactoryPostProcessors。主要是调用BeanFactoryPostProcessor。其中也有获取bean的过程,就是beanFactory.getBean的方法。这一章就说下getBean这个方法。由于spring中获取bean的方法比较复杂,涉及到的流程也非常多,这一章就先说下整个大体的流程。其中的细节会在后面也会慢慢说。源码直接看源码吧@OverridepublicObjectgetBean(Stringname)throws...
继续阅读 >
2021
05-25
05-25
Spring Boot构建系统安全层的步骤
01|SpringSecurity架构及核心类SpringSecurity中的过滤器链SpringSecurity中采用的是管道-过滤器(Pipe-Filter)架构模式,这些过滤器链,构成了SpringSecurity的核心。如下图所示:项目一旦启动,过滤器链将会实现自动配置,如下图所示:UsernamePasswordAuthenticationFilter用来检查输入的用户名和密码,代码如下:publicclassUsernamePasswordAuthenticationFilterextendsAbstractAuthenticationProcessingFil...
继续阅读 >
2021
05-20
05-20
如何在Spring Boot中使用MQTT
为什么选择MQTTMQTT的定义相信很多人都能讲的头头是道,本文章也不讨论什么高大上的东西,旨在用最简单直观的方式让每一位刚接触的同行们可以最快的应用起来先从使用MQTT需要什么开始分析:消息服务器不同应用/设备之间的频繁交互可能涉及一对多的消息传递根据上面列举的这三点,我们大概可以了解到,MQTT最适合的场景是消息做为系统的重要组成部分,且参与着系统关键业务逻辑的情形MQTT,启动!既然决定使用它,我们首先要研...
继续阅读 >
2021
05-20
05-20
spring aop底层原理及如何实现
前言相信每天工作都要用spring框架的大家一定使用过springaop,aop的概念是面向切面编程,相对与传统的面向对象编程oop,aop更关注的是横向的逻辑,比如说一个大型系统中的日志记录,异常处理,性能监控等等,都是各个模块都需要的操作,那样代表着这些操作会散落在系统的各个地方,不易管理且杂乱无章,而aop就是关注的这些,aop将这些操作与业务代码分离,统一成一个个的切面,针对这些个切面进行编程处理。springaop使得我们...
继续阅读 >
2021
05-20
05-20
深入学习spring cloud gateway 限流熔断
目前,SpringCloudGateway是仅次于SpringCloudNetflix的第二个最受欢迎的SpringCloud项目(就GitHub上的星级而言)。它是作为SpringCloud系列中Zuul代理的继任者而创建的。该项目提供了用于微服务体系结构的API网关,并基于反应式Netty和ProjectReactor构建。它旨在提供一种简单而有效的方法来路由到API并解决诸如安全性,监视/度量和弹性之类的普遍关注的问题。基于Redis限流SpringCloudGateway为您提供了许多功能和配置...
继续阅读 >
2021
05-20
05-20
spring boot实现自动输出word文档功能的实例代码

2021
05-20
05-20
Spring Bean实例的创建及构造器的挑选
一、举个栗子publicclassBeanServiceImplimplementsBeanService{}@ConfigurationpublicclassConfigurationBean{@BeanpublicBeanServicebeanService(){BeanServiceImplbeanService=newBeanServiceImpl();System.out.println("beanService:"+beanService);returnbeanService;}@Bean//@Bean如果不知道name,默认bean的name为方法名,下面等同于@Bean("beanService1"...
继续阅读 >
2021
05-19
05-19
Spring-IOC容器中的常用注解与使用方法详解

2021
05-19
05-19
Spring Aop基本流程原理示例详解
一、代理对象的创建过程:AbstractAutowireCapableBeanFactory#initializeBeanprotectedObjectinitializeBean(StringbeanName,Objectbean,@NullableRootBeanDefinitionmbd){if(System.getSecurityManager()!=null){AccessController.doPrivileged((PrivilegedAction<Object>)()->{invokeAwareMethods(beanName,bean);returnnull;},getAccessControlContext());}else{...
继续阅读 >
2021
05-15
05-15
spring是如何实现声明式事务的
前言今天我们来讲讲spring的声明式事务。开始说到声明式事务,我们现在回顾一下事务这个概念,什么是事务呢,事务指的是逻辑上的⼀组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。从而确保了数据的准确与安全。事务有着四大特性(ACID),分别是原子性(Atomicity)原⼦性是指事务是⼀个不可分割的⼯作单位,事务中的操作要么都发⽣,要么都不发⽣。⼀致性(Consisten...
继续阅读 >
