spring demo aop
spring中的扫描机制
背景 项目中出现,一个bean 在 @ComponentScan 注解的包下面却没有被扫描,并创建为bean的bug。所以需要了解spring的扫描机制。 原因以及源码位置 当项目里面有 resources/META-INF/spring.components 文件的时候,spring进入这个if判 ......
spring中事务的原理
背景 spring在使用事务的时候会出现事务失效的情况。这里了解spring中事务原理,以及事务失效的原理和解决方案。 原因 spring中事务是基于AOP的,如果不是代理对象执行的话就不会有事务。 比如,加上 @Transactional 的事务方法,是被包裹起来的。 public class U ......
spring中bean的生命周期
背景 bean在创建过程中会出现各种各样的循环依赖。了解spring如何用三级缓存机制解决循环依赖,解决spring没有解决的循环依赖。所以需要了解bean的生命周期原理。 出现属性的循环依赖时,bean的生命周期 spring用三级缓存机制来解决属性的循环依赖。 以 UserService 和 O ......
spring的beanName规则
背景 比如下面的 AService 为什么beanName是 AService ,首字母为什么没有小写。小写反而获取不到。 @Component public class AService { } ... applicationContext.getBean("AService") 源码逻辑 pro ......
spring相关
解释一下spring bean的生命周期: Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy; Spring上下文中的Bean生命周期也类似,如下: (1)实例化Bean: 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化 ......
spring注解整合mybatis
引入依赖 <!--mybatis-spring与mybatis使用低版本适配--> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</gr ......
spring中常用注解
@Configuration 标识当前类是配置类 @ComponentScan 包扫描注解 扫描注解 @Bean 标识该方法的返回值交给Spring容器管理 @Scope 控制多例和单例 @Lazy 懒加载 @PostConstruct 初始化方法 @PreDestroy 销毁方法 @Compone ......
Struts2和Spring的区别
1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts ......
spring的事务管理有几种方式实现
一.事务的4个特性: 原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。 一致性:数据不会因为事务的执行而遭到破坏。 隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。 持久性:一个事务一旦提交,它对数据库的改变将是永久的。 1、编 ......
【Spring MVC】第一个程序
添加Maven依赖: <!-- spring核心类 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.8.RELEASE</vers ......
MIT 6.5840 2023 Spring(6.824)LAB1:MapReduce
MIT 6.5840 2023 Spring(6.824)LAB1:MapReduce 前言 本次lab主要是完成一个基于RPC远程调用的单机单文件系统的简单MapReduce框架,并完成单词计数任务。基于golang实现,单Master,多Worker。实现worker的奔溃恢复(Fault To ......
golang使用grpc的demo
Crafted by Genie You golang使用grpc的demo Genie 好的,这里是一个简单的 golang 使用 grpc 的示例代码: 1. 安装 gRPC 和 protobuf 首先需要安装 gRPC 和 protobuf 的支持库。可以在终端中使用以下命令来安装: go g ......
Spring入门系列:浅析知识点
本文介绍了学习Spring源码前需要掌握的核心知识点,包括IOC、AOP、Bean生命周期、初始化和Transaction事务。通过Hello World示例,讲解了如何使用Spring,并指出了深入了解Spring内部机制的方向。 ......
Spring
1.springboot的自动装配原理 springboot启动以后:通过@EnableAutoConigration里的@lmport (AutoConfigurationlmportSelector.class) 实现配置类的导入,但是并不是传统意义上的单个导入,而是批量进行导入AutoConf ......
Spring
1.JUC下面的类有哪些 JUC就是java.util.concurrent包,这个包俗称JUC,里面都是解决并发问题的一些东西 该包的位置位于java下面的rt.jar包下面: CountDownLatch CyclicBarrier Semaphore ExChanger CountDownLa ......
Spring Boot事件的全面指南:事件类、发布者、监听器、异步、条件
ApplicationEvent介绍 SpringBoot中的ApplicationEvent是一种基于观察者模式实现的事件处理方式,它可以用于在Spring容器内部发布和订阅消息。事件监听与发布的过程如下: 事件类(Event):继承自ApplicationEvent类,用于封装事件数据。从Spr ......
【Spring】事务管理
添加Maven依赖: <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.6</version> <scope>runtime</scope> </depend ......
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
MQTT连接池 主要用到 `InitializingBean、BasePooledObjectFactory、GenericObjectPool、GenericObjectPoolConfig`
MQTT是一个轻量级传输协议,它被设计用于轻量级的发布/订阅式消息传输,MQTT协议针对低带宽网络,低计... ......
AES ECB Pkcs7 demo
const CryptoJS = require("crypto-js"); // 定义加密密钥 const key = "d080d92911318b86e3eb95534c927b82"; // 定义需要加密的数据 const data = `ru55PtuXxQSIeNgtvG82WcmSnc ......