事务mongodb spring
事务的ACID特性
ACID 是一种数据库事务的基本属性: 原子性(Atomicity):所有的操作要么全部完成,要么全部不完成,不会出现中间状态。 一致性(Consistency):在事务执行之前和之后,数据库系统中的所有数据必须保持一致状态。 隔离性(Isolation):对于系统中的任何两个事务,其执行顺序不会影 ......
【SPRING】使用拦截器统一处理异常
背景 业务开发,经常要处理各种各样的异常,然后一层处理,确实也不太舒服,也不够规整。 只管抛异常,不用每个地方都去判断catch 一下,会舒服得多。 但项目上还没有统一去做这个事情,虽然知道是好事,但没做就是没做, 业务来了 最近添加了一个全局异常处理类,是因为近来有一个业务,大概是根据当前登录人, ......
Spring 事件
事件 Spring 的默认事件是用来监听容器的,有如下事件:ContextStartedEvent、ContextStoppedEvent、ContextClosedEvent、ContextRefreshedEvent,分别表示容器启动、停止、关闭和刷新事件,监听的话想对简单,实现 Applica ......
mongodb 查询集合所有列名
//1.创建函数 function f_getfield(coll_name){ mr = db.runCommand({ "mapreduce": coll_name, "map": function() { for (var key in this) { emit(key, null); } } ......
mongodb分组且提取组内所有数据到一个数组里面方式
db.tempdata.insertMany([ { name: "AAA", age: 14, country: "us" }, { name: "BBB", age: 13, country: "us" }, { name: "CCC", age: 12, country: null }, { ......
MySQL事务还没提交,Canal就能读到消息了?
##【问题描述】 开发有天碰到一个很奇怪的问题,他的场景是这样子的: 通过Canal来订阅MySQL的binlog, 当捕获到有数据变化时,回到数据库,反查该数据的明细,然后做进一步处理。 有一次,他碰到一个诡异的现象: 1. Canal收到消息,有一条主键id=31019319的数据插入 2. 1 ......
Spring Aop 常见注解和执行顺序
Spring Aop 常见注解和执行顺序 IOC、AOP、Bean注入、Bean的生命周期、Bean的循环依赖 首先我们一起来回顾一下 Spring Aop 中常用的几个注解: @Before 前置通知:目标方法之前执行 @After 后置通知:目标方法之后执行(始终执行) @AfterReturn ......
Spring boot 、Vue学习体会
近期集中学习了Spring boot 、Vue等技术,学习过程也是不断碰壁,总的来说自认为有些涨进,抓住核心、深入关键、逐步剖析。 两个技术分别负责后台和前端,学习后一个感受,两个技术内部深层次逻辑有相似性,均是做到了框架管理对象、管理生命周期,简化操作。 1、管理对象 spring boot 通过 ......
Spring Cloud Gateway 网关跨域问题解决
0、版本说明 Spring Cloud Version:Spring Cloud 2021.0.4 Spring Cloud Gateway Version:3.1.4 Spring Boot Version:2.6.11 1、网关跨域问题说明 关于跨域的相关原理和理论,网上有大量文章对此进行说明, ......
策略模式 + Spring 容器
前段时间在做关于流程的需求,因为流程的操作比较多,比如说审核通过、审核拒绝、审核撤销、审核退回等等,每一种操作有自己的处理逻辑,为了便于扩展,想到了策略模式,这里记录一下。 策略模式的使用基本步骤就是定义接口、添加实现类来实现接口、创建工厂类来管理实现类。 在使用工厂的时候遇到一个问题,就是如何将 ......
spring源码03-xml配置文件conent标签解析流程
本文主要介绍spring的xml配置文件 context:component-scan 配置对应的处理流程,通过该标签的属性配置实现对注解的支持等。对于xml的加载流程,自定义标签的处理流程请看上一篇文章:spring源码02-xml配置文件解析过程 一、content标签支持的localName以 ......
Spring
在pom.xml文件中添加依赖 <dependencies> <!--dependency> <groupId>org.example</groupId> <artifactId>[the artifact id of the block to be mounted]</artifactId> <v ......
【Spring】创建第一个Spring项目
添加依赖: 1 <!-- spring基础包spring-core --> 2 <dependency> 3 <groupId>org.springframework</groupId> 4 <artifactId>spring-core</artifactId> 5 <version>5.2.8. ......
Spring、SpringBoot基于内存的异步调用ApplicationContext.publishEvent (生产、消费)
ApplicationContext.publishEvent 是Spring提供的解耦的一种方式 (基于内存)。同样可以使用 MQ 组件 / 线程池 代替。 参数类 NotifyEvent.java import lombok.AllArgsConstructor; import lombok.D ......
MongoDB数据备份与恢复
连接端口:mongos的端口 备份指定的库 [root@linux ~]# mongodump --port 27017 -d db1 -o /tmp/mongobak #将db1库备份到/tmp/mongobak目录下 备份目录下会自动生成以库名命名的目录 [root@linux ~]# ls / ......
MongoDB分片群集
搭建之前先了解一下MongoDB分片群集主要有如下三个组件: Shard:分片服务器,用于存储实际的数据块,实际生产环境中一个shard server 角色可以由几台服务器组成一个Peplica Set 承担,防止主机单点故障。Config Server:配置服务器,存储了整个分片群集的配置信息,其 ......
spring aop 加注解
重复执行代码: 1.定义注解 @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Repeatable { int value();}2.定义切面 /** * @Author dengYinY ......
Spring竟然可以创建“重复”名称的bean?—一次项目中存在多个bean名称重复问题的排查
众所周知,在Spring中时不能够创建两个名称相同的bean的,否则会在启动时报错:但是我却在我们的spring项目中发现了两个相同名称的bean,并且项目也可以正常启动,对应的bean也可以正常使用。 ......
安装 MongoDB
安装 MongoDB https://www.mongodb.com/try/download/community 如果是Yum安装,可以Package选项选server,然后拷贝链接后使用yum直接安装,如 yum install https://repo.mongodb.org/yum/redh ......
spring面试题
1.对IOC的理解 将对象的创建权交由工厂(spring),程序中如果需要对象,从工厂(spring)中获取; 解除类与类之间的耦合 2.对Aop的理解 底层使用的是动态代理;使用配置的方式来完成动态代理要实现的功能。 在不修改源码的基础上,对目标对象中方法进行增强。实现业务之间解耦。 3.切⼊点、 ......
SSM_Spring+SpringMVC+MyBatis学习
没听过的重点部分 springSecurity 4.0开始默认打开_csrf防护,但是会导致403 forbidden问题,所以可以关闭,但是关了就没有csrf防护了 其中还有传递的token和加密的value 这个功能在前端实现,使用了一个隐藏的input 但是在学习中是关闭的,每个传值都需要进行 ......
Spring中使用JdbcTemplate操作数据库
JDBC 是 Java 提供的一种用于执行 SQL 语句的 API,可以对多种关系型数据库(例如 MySQL、Oracle 等)进行访问。但在实际的企业级应用开发中,却很少有人直接使用原生的 JDBC API 进行开发,这是因为使用 JDBC API 对数据库进行操作十分繁琐,需要我们对每一步都做到 ......
设计模式(二十九)----综合应用-自定义Spring框架-Spring IOC相关接口分析
1 BeanFactory解析 Spring中Bean的创建是典型的工厂模式,这一系列的Bean工厂,即IoC容器,为开发者管理对象之间的依赖关系提供了很多便利和基础服务,在Spring中有许多IoC容器的实现供用户选择,其相互关系如下图所示。 其中,BeanFactory作为最顶层的一个接口,定义 ......
【事务】【@Transactional】@Transactional注解的rollbackFor属性
背景: 代码是这样写的: @Service @Transactional public class LoginBizImpl implements LoginBiz { // .... 省略 } 阿里巴巴规范扫描, 它就提示attribute rollbackfor of annotation tr ......
Jmeter mongodb
Jmeter 5.0 访问mongodb数据库,用MongoDB Script (DEPRECATED)的方法不能实现,会报错。 改用JSR223 Sampler python的方式可以实现。 附图 注意,一定要把 模块的地址引入。 常遇到的错误,如下截图: 该错误通过重新安装其他pymongo的包 ......
MySQL索引、事务与储存引擎
一、MySQL 索引 1.1 索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。 使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据,因此能加快数据 ......
SpringBoot多数据源(自定义注解,动态数据源,事务实现)
一、数据库配置文件(这里用的是阿波罗配置中心,也可以是application.yml文件) #mysql本地数据源1 spring.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.db1.jdbc ......
Spring整合Mybatis出线的小问题
Caused by: java.sql.SQLException: ${jdbc.driver} 这个问题出现一部分的原因,使用DruidDataSource获取数据库连接池的时候设置属性的时候直接加载了配置文件当中的属性如下 //1、定义一个方法来管理所需的对象(bean) @Bean publi ......
Spring AOP、AspectJ、CGLIB
静态代理和动态代理 AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强;而动态代理则在运行时借助于 JDK 动态代理、CGLIB 等在内存中“临时”生成 AOP 动态代理类,因此也被称为运行 ......